mirror of
https://github.com/ynput/ayon-core.git
synced 2026-01-01 16:34:53 +01:00
added set studio defaults action
This commit is contained in:
parent
4996c56170
commit
57ac12b514
2 changed files with 54 additions and 1 deletions
|
|
@ -171,7 +171,6 @@ class ConfigObject(AbstractConfigObject):
|
|||
|
||||
return "-".join(items) or cls.default_state
|
||||
|
||||
|
||||
def mouseReleaseEvent(self, event):
|
||||
if self.allow_actions and event.button() == QtCore.Qt.RightButton:
|
||||
menu = QtWidgets.QMenu()
|
||||
|
|
@ -202,6 +201,17 @@ class ConfigObject(AbstractConfigObject):
|
|||
actions_mapping[action] = self._reset_to_pype_default
|
||||
menu.addAction(action)
|
||||
|
||||
if (
|
||||
not self.is_overidable
|
||||
and (
|
||||
(self.is_group and not self._had_studio_override)
|
||||
or self.any_parent_is_group
|
||||
)
|
||||
):
|
||||
action = QtWidgets.QAction("Set sudio default")
|
||||
actions_mapping[action] = self._set_studio_default
|
||||
menu.addAction(action)
|
||||
|
||||
if (
|
||||
not self.any_parent_overriden()
|
||||
and (self.is_overriden or self.child_overriden)
|
||||
|
|
@ -362,6 +372,9 @@ class InputObject(ConfigObject):
|
|||
self.set_value(self.default_value)
|
||||
self._has_studio_override = False
|
||||
|
||||
def set_studio_default(self):
|
||||
self._has_studio_override = True
|
||||
|
||||
def discard_changes(self):
|
||||
self._is_overriden = self._was_overriden
|
||||
self._has_studio_override = self._had_studio_override
|
||||
|
|
@ -1627,6 +1640,13 @@ class DictWidget(QtWidgets.QWidget, ConfigObject):
|
|||
input_field.reset_to_pype_default()
|
||||
self._has_studio_override = False
|
||||
|
||||
def set_studio_default(self):
|
||||
for input_field in self.input_fields:
|
||||
input_field.set_studio_default()
|
||||
|
||||
if self.is_group:
|
||||
self._has_studio_override = True
|
||||
|
||||
def discard_changes(self):
|
||||
self._is_overriden = self._was_overriden
|
||||
self._is_modified = False
|
||||
|
|
@ -1957,6 +1977,13 @@ class DictInvisible(QtWidgets.QWidget, ConfigObject):
|
|||
input_field.reset_to_pype_default()
|
||||
self._has_studio_override = False
|
||||
|
||||
def set_studio_default(self):
|
||||
for input_field in self.input_fields:
|
||||
input_field.set_studio_default()
|
||||
|
||||
if self.is_group:
|
||||
self._has_studio_override = True
|
||||
|
||||
def discard_changes(self):
|
||||
self._is_modified = False
|
||||
self._is_overriden = self._was_overriden
|
||||
|
|
@ -2328,6 +2355,13 @@ class PathWidget(QtWidgets.QWidget, ConfigObject):
|
|||
input_field.reset_to_pype_default()
|
||||
self._has_studio_override = False
|
||||
|
||||
def set_studio_default(self):
|
||||
for input_field in self.input_fields:
|
||||
input_field.set_studio_default()
|
||||
|
||||
if self.is_group:
|
||||
self._has_studio_override = True
|
||||
|
||||
def discard_changes(self):
|
||||
self._is_modified = False
|
||||
self._is_overriden = self._was_overriden
|
||||
|
|
@ -2491,6 +2525,13 @@ class DictFormWidget(QtWidgets.QWidget, ConfigObject):
|
|||
input_field.reset_to_pype_default()
|
||||
self._has_studio_override = False
|
||||
|
||||
def set_studio_default(self):
|
||||
for input_field in self.input_fields:
|
||||
input_field.set_studio_default()
|
||||
|
||||
if self.is_group:
|
||||
self._has_studio_override = True
|
||||
|
||||
def set_as_overriden(self):
|
||||
if self.is_overriden:
|
||||
return
|
||||
|
|
|
|||
|
|
@ -400,6 +400,18 @@ class AbstractConfigObject:
|
|||
)
|
||||
)
|
||||
|
||||
def _set_studio_default(self):
|
||||
self.ignore_value_changes = True
|
||||
self.set_studio_default()
|
||||
self.ignore_value_changes = False
|
||||
|
||||
def set_studio_default(self):
|
||||
raise NotImplementedError(
|
||||
"{} Method `set_studio_default` not implemented!".format(
|
||||
repr(self)
|
||||
)
|
||||
)
|
||||
|
||||
def _reset_to_pype_default(self):
|
||||
self.ignore_value_changes = True
|
||||
self.reset_to_pype_default()
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue