Skip to content

Commit 9e7e9a4

Browse files
committed
firt enum pass
1 parent d627da9 commit 9e7e9a4

1 file changed

Lines changed: 20 additions & 18 deletions

File tree

python/tk_multi_publish2/dialog.py

Lines changed: 20 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
# not expressly granted therein are reserved by Shotgun Software Inc.
1010

1111
import contextlib
12+
import enum
1213
import traceback
1314

1415
import sgtk
@@ -992,18 +993,18 @@ def _synchronize_tree(self):
992993
with self._resize_window_for_tree():
993994
self.ui.items_tree.build_tree()
994995

995-
@property
996-
def _fit_width_to_items(self): # type: () -> Literal["never", "initial", "always"]
997-
"""Calculate appropriate ``fit_width_to_items`` mode from app settings."""
998-
known_values = ("never", "initial", "always")
999-
default = known_values[0]
1000-
1001-
value = self._bundle.get_setting("fit_width_to_items", default).lower()
1002-
if value not in known_values:
1003-
msg = "fit_width_to_items '%s' is not one of: %r. Defaulting to %s."
1004-
logger.warning(msg, value, known_values, default)
1005-
value = default
1006-
return value
996+
class FitWidthMode(enum.Enum):
997+
"""Possible values for the "fit_width_to_items" setting."""
998+
999+
NEVER = "never"
1000+
INITIAL = "initial"
1001+
ALWAYS = "always"
1002+
1003+
@classmethod
1004+
def _missing_(cls, value):
1005+
msg = "%r is not one of: %r. Defaulting to %s."
1006+
logger.warning(msg, value, [mem.value for mem in cls], cls.NEVER.value)
1007+
return cls.NEVER
10071008

10081009
@contextlib.contextmanager
10091010
def _resize_window_for_tree(self): # type: () -> Iterator[None]
@@ -1016,21 +1017,22 @@ def _resize_window_for_tree(self): # type: () -> Iterator[None]
10161017
- ``fit_width_to_items`` is 'initial' and the tree was already populated
10171018
10181019
"""
1019-
mode = self._fit_width_to_items
1020-
if mode == "never":
1020+
mode = self.FitWidthMode(self._bundle.get_setting("fit_width_to_items").lower())
1021+
if mode == self.FitWidthMode.NEVER:
10211022
yield
1022-
logger.debug("Skipping resize: fit_width_to_items is 'never'.")
1023+
logger.debug("Skipping resize: fit_width_to_items is %r.", mode.value)
10231024
else:
10241025
had_items = len(self._get_tree_items()) > 1
10251026
yield
10261027
current_items = self._get_tree_items()
10271028

10281029
if len(current_items) < 2:
10291030
logger.debug("Skipping resize: No non-root items in tree")
1030-
elif had_items and mode == "initial":
1031+
elif had_items and mode == self.FitWidthMode.INITIAL:
10311032
logger.debug(
1032-
"Skipping resize: fit_width_to_items is 'initial' "
1033-
"and tree was already populated."
1033+
"Skipping resize: fit_width_to_items is %r "
1034+
"and tree was already populated.",
1035+
mode.value,
10341036
)
10351037
else:
10361038
tree_size_hint = QtCore.QSize(0, 0)

0 commit comments

Comments
 (0)