From 342b3f80e9384ea5362a4add00eecf40e9610db3 Mon Sep 17 00:00:00 2001 From: iLLiCiTiT Date: Wed, 25 Nov 2020 18:12:45 +0100 Subject: [PATCH 1/5] fixed collapsability --- .../settings/settings/widgets/item_types.py | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/pype/tools/settings/settings/widgets/item_types.py b/pype/tools/settings/settings/widgets/item_types.py index fd5364ea17..4ba3be12cb 100644 --- a/pype/tools/settings/settings/widgets/item_types.py +++ b/pype/tools/settings/settings/widgets/item_types.py @@ -2190,15 +2190,6 @@ class ModifiableDict(QtWidgets.QWidget, InputObject): self.body_widget = body_widget self.label_widget = body_widget.label_widget - collapsable = input_data.get("collapsable", True) - if collapsable: - collapsed = input_data.get("collapsed", True) - if not collapsed: - body_widget.toggle_content() - - else: - body_widget.hide_toolbox(hide_content=False) - if body_widget is None: content_parent_widget = self else: @@ -2219,6 +2210,16 @@ class ModifiableDict(QtWidgets.QWidget, InputObject): self.content_widget = content_widget self.content_layout = content_layout + if not as_widget: + collapsable = input_data.get("collapsable", True) + if collapsable: + collapsed = input_data.get("collapsed", True) + if not collapsed: + body_widget.toggle_content() + + else: + body_widget.hide_toolbox(hide_content=False) + self.setAttribute(QtCore.Qt.WA_TranslucentBackground) self.add_row(is_empty=True) From 3bb15ac9a5010b0870a570f18a8ec89fd8e86133 Mon Sep 17 00:00:00 2001 From: iLLiCiTiT Date: Wed, 25 Nov 2020 18:17:50 +0100 Subject: [PATCH 2/5] do not create expanding part if label is not entered --- pype/tools/settings/settings/widgets/item_types.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/pype/tools/settings/settings/widgets/item_types.py b/pype/tools/settings/settings/widgets/item_types.py index 4ba3be12cb..15ba817f29 100644 --- a/pype/tools/settings/settings/widgets/item_types.py +++ b/pype/tools/settings/settings/widgets/item_types.py @@ -2180,9 +2180,16 @@ class ModifiableDict(QtWidgets.QWidget, InputObject): main_layout.setContentsMargins(0, 0, 0, 0) main_layout.setSpacing(0) + label = input_data.get("label") + if as_widget: body_widget = None self.label_widget = label_widget + + elif label is None: + body_widget = None + self.body_widget = body_widget + self.label_widget = None else: body_widget = ExpandingWidget(input_data["label"], self) main_layout.addWidget(body_widget) @@ -2210,7 +2217,7 @@ class ModifiableDict(QtWidgets.QWidget, InputObject): self.content_widget = content_widget self.content_layout = content_layout - if not as_widget: + if not as_widget and body_widget: collapsable = input_data.get("collapsable", True) if collapsable: collapsed = input_data.get("collapsed", True) From 12de5bdb5fe1eede2d267fcdd945bef447ea39db Mon Sep 17 00:00:00 2001 From: iLLiCiTiT Date: Wed, 25 Nov 2020 18:25:15 +0100 Subject: [PATCH 3/5] simplified condition --- pype/tools/settings/settings/widgets/item_types.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pype/tools/settings/settings/widgets/item_types.py b/pype/tools/settings/settings/widgets/item_types.py index 15ba817f29..4cfca93824 100644 --- a/pype/tools/settings/settings/widgets/item_types.py +++ b/pype/tools/settings/settings/widgets/item_types.py @@ -2217,7 +2217,7 @@ class ModifiableDict(QtWidgets.QWidget, InputObject): self.content_widget = content_widget self.content_layout = content_layout - if not as_widget and body_widget: + if body_widget: collapsable = input_data.get("collapsable", True) if collapsable: collapsed = input_data.get("collapsed", True) From 800efd6ead03f22b1d7d44a93236c00ff87f1c1e Mon Sep 17 00:00:00 2001 From: iLLiCiTiT Date: Wed, 25 Nov 2020 19:04:55 +0100 Subject: [PATCH 4/5] do not validate on `set_value` in strict list --- pype/tools/settings/settings/widgets/item_types.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/pype/tools/settings/settings/widgets/item_types.py b/pype/tools/settings/settings/widgets/item_types.py index 4cfca93824..99b2f593a9 100644 --- a/pype/tools/settings/settings/widgets/item_types.py +++ b/pype/tools/settings/settings/widgets/item_types.py @@ -1897,8 +1897,6 @@ class ListStrictWidget(QtWidgets.QWidget, InputObject): return self._default_input_value def set_value(self, value): - self.validate_value(value) - if self._is_overriden: method_name = "apply_overrides" elif not self._has_studio_override: From efeb53aa23e29a1aad327e2d9e6e018f30df64d9 Mon Sep 17 00:00:00 2001 From: iLLiCiTiT Date: Wed, 25 Nov 2020 19:23:03 +0100 Subject: [PATCH 5/5] fix missing object attribute --- pype/tools/settings/settings/widgets/item_types.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/pype/tools/settings/settings/widgets/item_types.py b/pype/tools/settings/settings/widgets/item_types.py index 99b2f593a9..be508d6617 100644 --- a/pype/tools/settings/settings/widgets/item_types.py +++ b/pype/tools/settings/settings/widgets/item_types.py @@ -2186,15 +2186,14 @@ class ModifiableDict(QtWidgets.QWidget, InputObject): elif label is None: body_widget = None - self.body_widget = body_widget self.label_widget = None else: body_widget = ExpandingWidget(input_data["label"], self) main_layout.addWidget(body_widget) - self.body_widget = body_widget self.label_widget = body_widget.label_widget + self.body_widget = body_widget if body_widget is None: content_parent_widget = self else: