From 66761a2544bb2b625e7947f7accf828e06ee906f Mon Sep 17 00:00:00 2001 From: iLLiCiTiT Date: Fri, 11 Dec 2020 12:51:26 +0100 Subject: [PATCH 1/4] set stylesheet on main windows instead of on application --- pype/tools/settings/__main__.py | 3 --- pype/tools/settings/settings/widgets/window.py | 7 ++++++- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/pype/tools/settings/__main__.py b/pype/tools/settings/__main__.py index 2e27c28208..7e9f80a52c 100644 --- a/pype/tools/settings/__main__.py +++ b/pype/tools/settings/__main__.py @@ -6,9 +6,6 @@ from Qt import QtWidgets, QtGui if __name__ == "__main__": app = QtWidgets.QApplication(sys.argv) - - stylesheet = settings.style.load_stylesheet() - app.setStyleSheet(stylesheet) app.setWindowIcon(QtGui.QIcon(settings.style.app_icon_path())) _develop = "-d" in sys.argv or "--develop" in sys.argv diff --git a/pype/tools/settings/settings/widgets/window.py b/pype/tools/settings/settings/widgets/window.py index 670d00fb2b..2dd5111d74 100644 --- a/pype/tools/settings/settings/widgets/window.py +++ b/pype/tools/settings/settings/widgets/window.py @@ -1,5 +1,6 @@ -from Qt import QtWidgets +from Qt import QtWidgets, QtGui from .base import SystemWidget, ProjectWidget +from .. import style class MainWidget(QtWidgets.QWidget): @@ -13,6 +14,10 @@ class MainWidget(QtWidgets.QWidget): self.resize(self.widget_width, self.widget_height) + stylesheet = style.load_stylesheet() + self.setStyleSheet(stylesheet) + self.setWindowIcon(QtGui.QIcon(style.app_icon_path())) + header_tab_widget = QtWidgets.QTabWidget(parent=self) studio_widget = SystemWidget(user_role, header_tab_widget) From 8c2f4876c9a2fb3a65cc498508796e08d06d5495 Mon Sep 17 00:00:00 2001 From: iLLiCiTiT Date: Fri, 11 Dec 2020 12:52:48 +0100 Subject: [PATCH 2/4] added settings module --- pype/modules/__init__.py | 4 ++- pype/modules/base.py | 3 +- pype/modules/settings_module.py | 53 +++++++++++++++++++++++++++++++++ 3 files changed, 58 insertions(+), 2 deletions(-) create mode 100644 pype/modules/settings_module.py diff --git a/pype/modules/__init__.py b/pype/modules/__init__.py index 11157f24b1..00303aafc6 100644 --- a/pype/modules/__init__.py +++ b/pype/modules/__init__.py @@ -7,7 +7,7 @@ from .base import ( ModulesManager, TrayModulesManager ) - +from .settings_module import SettingsModule from .rest_api import ( RestApiModule, IRestApi @@ -44,6 +44,8 @@ __all__ = ( "ModulesManager", "TrayModulesManager", + "SettingsModule", + "UserModule", "IUserModule", diff --git a/pype/modules/base.py b/pype/modules/base.py index 72d0eb4503..0176384a59 100644 --- a/pype/modules/base.py +++ b/pype/modules/base.py @@ -390,7 +390,8 @@ class TrayModulesManager(ModulesManager): "Avalon", "Clockify", "Standalone Publish", - "Logging" + "Logging", + "settings" ) def __init__(self): diff --git a/pype/modules/settings_module.py b/pype/modules/settings_module.py new file mode 100644 index 0000000000..dbc28786a0 --- /dev/null +++ b/pype/modules/settings_module.py @@ -0,0 +1,53 @@ +from . import PypeModule, ITrayModule + + +class SettingsModule(PypeModule, ITrayModule): + name = "settings" + + def initialize(self, _modules_settings): + # This module is always enabled + self.enabled = True + + # User role + # TODO should be changeable + self.user_role = "manager" + + # Tray attributes + self.settings_window = None + + def connect_with_modules(self, *_a, **_kw): + return + + def create_settings_window(self): + if self.settings_window: + return + from pype.tools.settings import MainWidget + self.settings_window = MainWidget(self.user_role) + + def show_settings_window(self): + if not self.settings_window: + raise AssertionError("Window is not initialized.") + + self.settings_window.show() + + # Pull window to the front. + self.settings_window.raise_() + self.settings_window.activateWindow() + + def tray_init(self): + self.create_settings_window() + + def tray_menu(self, tray_menu): + """Add **change credentials** option to tray menu.""" + from Qt import QtWidgets + + # Actions + action = QtWidgets.QAction("Settings", tray_menu) + action.triggered.connect(self.show_settings_window) + tray_menu.addAction(action) + + def tray_start(self): + return + + def tray_exit(self): + return From d9560df784d49398c5180500bde950bcc7401a6b Mon Sep 17 00:00:00 2001 From: iLLiCiTiT Date: Fri, 11 Dec 2020 13:12:08 +0100 Subject: [PATCH 3/4] change default user role to developer --- pype/modules/settings_module.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pype/modules/settings_module.py b/pype/modules/settings_module.py index dbc28786a0..0651170148 100644 --- a/pype/modules/settings_module.py +++ b/pype/modules/settings_module.py @@ -10,7 +10,7 @@ class SettingsModule(PypeModule, ITrayModule): # User role # TODO should be changeable - self.user_role = "manager" + self.user_role = "developer" # Tray attributes self.settings_window = None From 6a3184e56f68439f74cbb435489b74af61ba0649 Mon Sep 17 00:00:00 2001 From: iLLiCiTiT Date: Fri, 11 Dec 2020 13:15:49 +0100 Subject: [PATCH 4/4] do not cache defaults --- pype/settings/lib.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/pype/settings/lib.py b/pype/settings/lib.py index dfd4707dbf..11ade3abcd 100644 --- a/pype/settings/lib.py +++ b/pype/settings/lib.py @@ -80,10 +80,12 @@ def reset_default_settings(): def get_default_settings(): - global _DEFAULT_SETTINGS - if _DEFAULT_SETTINGS is None: - _DEFAULT_SETTINGS = load_jsons_from_dir(DEFAULTS_DIR) - return copy.deepcopy(_DEFAULT_SETTINGS) + # TODO add cacher + return load_jsons_from_dir(DEFAULTS_DIR) + # global _DEFAULT_SETTINGS + # if _DEFAULT_SETTINGS is None: + # _DEFAULT_SETTINGS = load_jsons_from_dir(DEFAULTS_DIR) + # return copy.deepcopy(_DEFAULT_SETTINGS) def load_json_file(fpath):