From f068a863375a4bda1b2f9e06996380e6beb59572 Mon Sep 17 00:00:00 2001 From: iLLiCiTiT Date: Fri, 18 Dec 2020 19:42:53 +0100 Subject: [PATCH] update_style works with label wrapper in list item --- .../settings/settings/widgets/item_types.py | 32 +++++++++++++++++-- 1 file changed, 29 insertions(+), 3 deletions(-) diff --git a/pype/tools/settings/settings/widgets/item_types.py b/pype/tools/settings/settings/widgets/item_types.py index 5c377cb9ec..30ff128c2d 100644 --- a/pype/tools/settings/settings/widgets/item_types.py +++ b/pype/tools/settings/settings/widgets/item_types.py @@ -1840,18 +1840,44 @@ class ListWidget(QtWidgets.QWidget, InputObject): return True return False - def update_style(self): + def update_style(self, is_overriden=None): if not self.label_widget: return - state = self._style_state() + child_invalid = self.child_invalid + if self.body_widget: + child_state = self.style_state( + self.child_has_studio_override, + child_invalid, + self.child_overriden, + self.child_modified + ) + if child_state: + child_state = "child-{}".format(child_state) + + if child_state != self._child_state: + self.body_widget.side_line_widget.setProperty( + "state", child_state + ) + self.body_widget.side_line_widget.style().polish( + self.body_widget.side_line_widget + ) + self._child_state = child_state + + state = self.style_state( + self.had_studio_override, + child_invalid, + self.is_overriden, + self.is_modified + ) if self._state == state: return - self._state = state self.label_widget.setProperty("state", state) self.label_widget.style().polish(self.label_widget) + self._state = state + def item_value(self): output = [] for item in self.input_fields: