From 3deca82c818c35b37a0b73cf26f4e0954f38966a Mon Sep 17 00:00:00 2001 From: iLLiCiTiT Date: Fri, 4 Dec 2020 11:05:47 +0100 Subject: [PATCH 1/7] do not remove metadata from system settings on loading of environments --- pype/settings/lib.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pype/settings/lib.py b/pype/settings/lib.py index c8578b84f8..d7395e7f1a 100644 --- a/pype/settings/lib.py +++ b/pype/settings/lib.py @@ -510,7 +510,7 @@ def get_environments(): dict: Output should be ready for `acre` module. """ - return find_environments(get_system_settings()) + return find_environments(get_system_settings(False)) def clear_metadata_from_settings(values): From 3e51791e171ad05dc039068c8f90805ec51f8b49 Mon Sep 17 00:00:00 2001 From: iLLiCiTiT Date: Fri, 4 Dec 2020 11:14:55 +0100 Subject: [PATCH 2/7] fix list item on overrides application --- pype/tools/settings/settings/widgets/item_types.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pype/tools/settings/settings/widgets/item_types.py b/pype/tools/settings/settings/widgets/item_types.py index 063262c43f..5f0b326052 100644 --- a/pype/tools/settings/settings/widgets/item_types.py +++ b/pype/tools/settings/settings/widgets/item_types.py @@ -1744,7 +1744,9 @@ class ListWidget(QtWidgets.QWidget, InputObject): def apply_overrides(self, parent_values): self._is_modified = False - if parent_values is NOT_SET or self.key not in parent_values: + if self.as_widget: + override_value = parent_values + elif parent_values is NOT_SET or self.key not in parent_values: override_value = NOT_SET else: override_value = parent_values[self.key] From 85ed78761e082fa16906a4460b644a9bfc97db75 Mon Sep 17 00:00:00 2001 From: iLLiCiTiT Date: Fri, 4 Dec 2020 11:15:08 +0100 Subject: [PATCH 3/7] changed order of changes check --- pype/tools/settings/settings/widgets/item_types.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pype/tools/settings/settings/widgets/item_types.py b/pype/tools/settings/settings/widgets/item_types.py index 5f0b326052..d07ed91d8d 100644 --- a/pype/tools/settings/settings/widgets/item_types.py +++ b/pype/tools/settings/settings/widgets/item_types.py @@ -2347,9 +2347,9 @@ class ModifiableDictItem(QtWidgets.QWidget, SettingObject): if self._is_empty: return False return ( - self.is_value_modified() - or self.is_key_modified() + self.is_key_modified() or self.is_key_label_modified() + or self.is_value_modified() ) def hierarchical_style_update(self): From 405d15bc9735836b7419da0152dfe1a71e6b5b73 Mon Sep 17 00:00:00 2001 From: iLLiCiTiT Date: Fri, 4 Dec 2020 11:42:05 +0100 Subject: [PATCH 4/7] fix style setting --- pype/tools/settings/settings/widgets/item_types.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/pype/tools/settings/settings/widgets/item_types.py b/pype/tools/settings/settings/widgets/item_types.py index d07ed91d8d..d96fb60cdd 100644 --- a/pype/tools/settings/settings/widgets/item_types.py +++ b/pype/tools/settings/settings/widgets/item_types.py @@ -326,9 +326,11 @@ class SettingObject: return True if self.is_overidable: + if self.as_widget: + return self._was_overriden != self.is_overriden return self.was_overriden != self.is_overriden - else: - return self.has_studio_override != self.had_studio_override + + return self.has_studio_override != self.had_studio_override @property def is_overriden(self): From edfa4589afd853f91429ef161507ee25879513a5 Mon Sep 17 00:00:00 2001 From: iLLiCiTiT Date: Fri, 4 Dec 2020 12:01:58 +0100 Subject: [PATCH 5/7] fix project overrides loading on save --- pype/tools/settings/settings/widgets/base.py | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/pype/tools/settings/settings/widgets/base.py b/pype/tools/settings/settings/widgets/base.py index 5127ea9f88..cca4a3b149 100644 --- a/pype/tools/settings/settings/widgets/base.py +++ b/pype/tools/settings/settings/widgets/base.py @@ -236,15 +236,12 @@ class SettingsCategoryWidget(QtWidgets.QWidget): self.save() - self._update_values() - def _on_refresh(self): self.reset() def _on_hide_studio_overrides(self, state): self._hide_studio_overrides = (state == QtCore.Qt.Checked) self._update_values() - self.hierarchical_style_update() def _save_as_defaults(self): if not self.items_are_valid(): @@ -288,7 +285,6 @@ class SettingsCategoryWidget(QtWidgets.QWidget): reset_default_settings() self._update_values() - self.hierarchical_style_update() def _update_values(self): self.ignore_value_changes = True @@ -373,6 +369,8 @@ class SystemWidget(SettingsCategoryWidget): save_studio_settings(values) + self._update_values() + def update_values(self): default_values = lib.convert_data_to_gui_data({ self.main_schema_key: get_default_settings()[SYSTEM_SETTINGS_KEY] From 4c866c9669e1adc675966dd8b55bea5b868d47f9 Mon Sep 17 00:00:00 2001 From: iLLiCiTiT Date: Fri, 4 Dec 2020 12:06:31 +0100 Subject: [PATCH 6/7] fix update values properly --- pype/tools/settings/settings/widgets/base.py | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/pype/tools/settings/settings/widgets/base.py b/pype/tools/settings/settings/widgets/base.py index cca4a3b149..74ffd8e861 100644 --- a/pype/tools/settings/settings/widgets/base.py +++ b/pype/tools/settings/settings/widgets/base.py @@ -236,6 +236,8 @@ class SettingsCategoryWidget(QtWidgets.QWidget): self.save() + self._update_values() + def _on_refresh(self): self.reset() @@ -369,8 +371,6 @@ class SystemWidget(SettingsCategoryWidget): save_studio_settings(values) - self._update_values() - def update_values(self): default_values = lib.convert_data_to_gui_data({ self.main_schema_key: get_default_settings()[SYSTEM_SETTINGS_KEY] @@ -588,14 +588,10 @@ class ProjectWidget(SettingsCategoryWidget): project_anatomy_data = output_data.get(PROJECT_ANATOMY_KEY, {}) save_project_anatomy(self.project_name, project_anatomy_data) - if studio_overrides: - # Update saved values - self._update_values() - else: - # Refill values with overrides - self._on_project_change() - def update_values(self): + if not self.project_name is None: + self._on_project_change() + return default_values = lib.convert_data_to_gui_data( {self.main_schema_key: get_default_settings()} ) From 4be0776d84b1e431bbc96a14f393aff22ee42d47 Mon Sep 17 00:00:00 2001 From: iLLiCiTiT Date: Fri, 4 Dec 2020 12:12:17 +0100 Subject: [PATCH 7/7] formatting changes --- pype/tools/settings/settings/widgets/base.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pype/tools/settings/settings/widgets/base.py b/pype/tools/settings/settings/widgets/base.py index 74ffd8e861..404ef8fed7 100644 --- a/pype/tools/settings/settings/widgets/base.py +++ b/pype/tools/settings/settings/widgets/base.py @@ -589,9 +589,10 @@ class ProjectWidget(SettingsCategoryWidget): save_project_anatomy(self.project_name, project_anatomy_data) def update_values(self): - if not self.project_name is None: + if self.project_name is not None: self._on_project_change() return + default_values = lib.convert_data_to_gui_data( {self.main_schema_key: get_default_settings()} )