From 1cde9cb37ab9bc6d293334f14ec5e3639df3c88c Mon Sep 17 00:00:00 2001 From: iLLiCiTiT Date: Wed, 6 Jan 2021 13:24:09 +0100 Subject: [PATCH] moved back removed code during merge resolving --- pype/tools/settings/settings/widgets/base.py | 1 + pype/tools/settings/settings/widgets/window.py | 18 ++++++++++++++++++ 2 files changed, 19 insertions(+) diff --git a/pype/tools/settings/settings/widgets/base.py b/pype/tools/settings/settings/widgets/base.py index 08536497a4..b32c5bf6ac 100644 --- a/pype/tools/settings/settings/widgets/base.py +++ b/pype/tools/settings/settings/widgets/base.py @@ -50,6 +50,7 @@ class SettingsCategoryWidget(QtWidgets.QWidget): initial_schema_name = None state_changed = QtCore.Signal() + saved = QtCore.Signal(QtWidgets.QWidget) def __init__(self, user_role, parent=None): super(SettingsCategoryWidget, self).__init__(parent) diff --git a/pype/tools/settings/settings/widgets/window.py b/pype/tools/settings/settings/widgets/window.py index 45f5cb8e95..5f3cc96e95 100644 --- a/pype/tools/settings/settings/widgets/window.py +++ b/pype/tools/settings/settings/widgets/window.py @@ -39,8 +39,11 @@ class MainWidget(QtWidgets.QWidget): self.setLayout(layout) + self._shadow_widget = ShadowWidget("Working...", self) + for tab_widget in tab_widgets: tab_widget.saved.connect(self._on_tab_save) + tab_widget.state_changed.connect(self._on_state_change) self.tab_widgets = tab_widgets @@ -48,6 +51,21 @@ class MainWidget(QtWidgets.QWidget): for tab_widget in self.tab_widgets: tab_widget.on_saved(source_widget) + def _on_state_change(self): + any_working = False + for widget in self.tab_widgets: + if widget.state is CategoryState.Working: + any_working = True + break + + if ( + (any_working and self._shadow_widget.isVisible()) + or (not any_working and not self._shadow_widget.isVisible()) + ): + return + + self._shadow_widget.setVisible(any_working) + def reset(self): for tab_widget in self.tab_widgets: tab_widget.reset()