From 81d444bcf1db72baf9e61688a91b469da8d9aba2 Mon Sep 17 00:00:00 2001 From: iLLiCiTiT Date: Thu, 4 Feb 2021 13:34:28 +0100 Subject: [PATCH] implemented discard changes for input entities --- pype/settings/entities/input_entities.py | 33 +++++++++++++++++++++++- 1 file changed, 32 insertions(+), 1 deletion(-) diff --git a/pype/settings/entities/input_entities.py b/pype/settings/entities/input_entities.py index 217633d279..78c6ef1adf 100644 --- a/pype/settings/entities/input_entities.py +++ b/pype/settings/entities/input_entities.py @@ -251,7 +251,38 @@ class InputEntity(ItemEntity): pass def discard_changes(self): - pass + if self.override_state is OverrideState.NOT_DEFINED: + return + + self.value_is_modified = False + if self.override_state >= OverrideState.PROJECT: + self._has_project_override = self.had_project_override + if self.had_project_override: + self._current_value = copy.deepcopy( + self.project_override_value + ) + self.on_change() + return + + if self.override_state >= OverrideState.STUDIO: + self._has_studio_override = self.had_studio_override + if self.had_studio_override: + self._current_value = copy.deepcopy( + self.studio_override_value + ) + self.on_change() + return + + if self.override_state >= OverrideState.DEFAULTS: + if self.has_default_value: + value = self.default_value + else: + value = self.value_on_not_set + self._current_value = copy.deepcopy(value) + self.on_change() + return + + raise NotImplementedError("BUG: Unexcpected part of code.") def get_child_path(self, child_obj): raise TypeError("{} can't have children".format(