From bdd5c382f8419e444976b080479446fd7dee92f0 Mon Sep 17 00:00:00 2001 From: iLLiCiTiT Date: Thu, 3 Jun 2021 10:37:26 +0200 Subject: [PATCH] handling of DefaultsNotDefined exception won't add widgets to gui --- .../tools/settings/settings/categories.py | 25 ++++++++++--------- 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/openpype/tools/settings/settings/categories.py b/openpype/tools/settings/settings/categories.py index b072a7f337..34ab4c464a 100644 --- a/openpype/tools/settings/settings/categories.py +++ b/openpype/tools/settings/settings/categories.py @@ -351,6 +351,7 @@ class SettingsCategoryWidget(QtWidgets.QWidget): dialog = None try: self._create_root_entity() + self.entity.add_require_restart_change_callback( self._on_require_restart_change ) @@ -364,6 +365,16 @@ class SettingsCategoryWidget(QtWidgets.QWidget): self.ignore_input_changes.set_ignore(False) + except DefaultsNotDefined: + dialog = QtWidgets.QMessageBox(self) + dialog.setWindowTitle("Missing default values") + dialog.setText(( + "Default values are not set and you" + " don't have permissions to modify them." + " Please contact OpenPype team." + )) + dialog.setIcon(QtWidgets.QMessageBox.Critical) + except SchemaError as exc: dialog = QtWidgets.QMessageBox(self) dialog.setWindowTitle("Schema error") @@ -494,12 +505,7 @@ class SystemWidget(SettingsCategoryWidget): self.modify_defaults_checkbox.setEnabled(True) except DefaultsNotDefined: if not self.modify_defaults_checkbox: - msg_box = QtWidgets.QMessageBox( - "BUG: Default values are not set and you" - " don't have permissions to modify them." - ) - msg_box.exec_() - return + raise self.entity.set_defaults_state() self.modify_defaults_checkbox.setChecked(True) @@ -571,12 +577,7 @@ class ProjectWidget(SettingsCategoryWidget): except DefaultsNotDefined: if not self.modify_defaults_checkbox: - msg_box = QtWidgets.QMessageBox( - "BUG: Default values are not set and you" - " don't have permissions to modify them." - ) - msg_box.exec_() - return + raise self.entity.set_defaults_state() self.modify_defaults_checkbox.setChecked(True)