hierarchical update style is a thing again

This commit is contained in:
iLLiCiTiT 2021-02-02 15:24:17 +01:00
parent f83dd913a7
commit 6164481763
5 changed files with 39 additions and 3 deletions

View file

@ -34,6 +34,13 @@ class BaseWidget(QtWidgets.QWidget):
return "studio"
return ""
def hierarchical_style_update(self):
raise NotImplementedError(
"{} not implemented `hierarchical_style_update`".format(
self.__class__.__name__
)
)
def show_actions_menu(self, event):
print("Show actions for {}".format(self.entity.path))
@ -41,7 +48,7 @@ class BaseWidget(QtWidgets.QWidget):
class InputWidget(BaseWidget):
def update_style(self):
state = self.get_style_state(
self.entity.is_invalid,
self.is_invalid,
self.entity.has_unsaved_changes,
self.entity.has_project_override,
self.entity.has_studio_override
@ -57,6 +64,9 @@ class InputWidget(BaseWidget):
self.label_widget.setProperty("state", state)
self.label_widget.style().polish(self.label_widget)
def hierarchical_style_update(self):
self.update_style()
class GUIWidget(BaseWidget):
separator_height = 2
@ -97,3 +107,6 @@ class GUIWidget(BaseWidget):
def _on_entity_change(self):
pass
def hierarchical_style_update(self):
pass

View file

@ -530,9 +530,12 @@ class SystemWidget(SettingsCategoryWidget):
self.add_children_gui()
self.ignore_input_changes.set_ignore(True)
for input_field in self.input_fields:
input_field.set_entity_value()
# self.hierarchical_style_update()
self.ignore_input_changes.set_ignore(False)
self.set_state(CategoryState.Idle)

View file

@ -690,7 +690,7 @@ class DictMutableKeysWidget(BaseWidget):
def update_style(self):
_style_state = self.get_style_state(
self.entity.is_invalid,
self.is_invalid,
self.entity.has_unsaved_changes,
self.entity.has_project_override,
self.entity.has_studio_override

View file

@ -123,6 +123,11 @@ class DictImmutableKeysWidget(BaseWidget):
for input_field in self.input_fields:
input_field.set_entity_value()
def hierarchical_style_update(self):
self.update_style()
for input_field in self.input_fields:
input_field.hierarchical_style_update()
def update_style(self, is_overriden=None):
child_has_studio_override = self.entity.child_has_studio_override
child_modified = self.entity.has_unsaved_changes
@ -438,6 +443,9 @@ class PathWidget(BaseWidget):
def set_entity_value(self):
self.input_field.set_entity_value()
def hierarchical_style_update(self):
self.input_field.hierarchical_style_update()
def _on_entity_change(self):
print("_on_entity_change", self.__class__.__name__, self.entity.path)

View file

@ -163,6 +163,9 @@ class ListItem(QtWidgets.QWidget):
self.up_btn.setEnabled(True)
self.down_btn.setEnabled(True)
def hierarchical_style_update(self):
self.input_field.hierarchical_style_update()
class ListWidget(InputWidget):
def create_ui(self):
@ -325,3 +328,12 @@ class ListWidget(InputWidget):
self.empty_row.setVisible(self.count() == 0)
self.updateGeometry()
def update_style(self):
# print("ListWidget update_style")
pass
def hierarchical_style_update(self):
self.update_style()
for input_field in self.input_fields:
input_field.hierarchical_style_update()