Skip to content
This repository has been archived by the owner on Sep 20, 2024. It is now read-only.

Commit

Permalink
use metadata for state to get labels
Browse files Browse the repository at this point in the history
  • Loading branch information
iLLiCiTiT committed May 1, 2021
1 parent c0187f9 commit 5fe39ab
Showing 1 changed file with 28 additions and 7 deletions.
35 changes: 28 additions & 7 deletions openpype/settings/entities/dict_mutable_keys_entity.py
Original file line number Diff line number Diff line change
Expand Up @@ -541,11 +541,21 @@ def _remove_from_studio_default(self, on_change_trigger):
for key in tuple(self.children_by_key.keys()):
self.children_by_key.pop(key)

metadata = self._get_metadata_for_state(OverrideState.DEFAULTS)
metadata_labels = metadata.get(M_DYNAMIC_KEY_LABEL) or {}
children_label_by_id = {}

# Create new children
for _key, _value in new_value.items():
child_obj = self._add_key(_key)
child_obj.update_default_value(_value)
child_obj.set_override_state(self._override_state)
child_entity = self._add_key(_key)
child_entity.update_default_value(_value)
label = metadata_labels.get(_key)
if label:
children_label_by_id[child_entity.id] = label

child_entity.set_override_state(self._override_state)

self.children_label_by_id = children_label_by_id

self._ignore_child_changes = False

Expand Down Expand Up @@ -579,13 +589,24 @@ def _remove_from_project_override(self, on_change_trigger):
for key in tuple(self.children_by_key.keys()):
self.children_by_key.pop(key)

metadata = self._get_metadata_for_state(OverrideState.STUDIO)
metadata_labels = metadata.get(M_DYNAMIC_KEY_LABEL) or {}
children_label_by_id = {}

# Create new children
for _key, _value in new_value.items():
child_obj = self._add_key(_key)
child_obj.update_default_value(_value)
child_entity = self._add_key(_key)
child_entity.update_default_value(_value)
if self._has_studio_override:
child_obj.update_studio_value(_value)
child_obj.set_override_state(self._override_state)
child_entity.update_studio_value(_value)

label = metadata_labels.get(_key)
if label:
children_label_by_id[child_entity.id] = label

child_entity.set_override_state(self._override_state)

self.children_label_by_id = children_label_by_id

self._ignore_child_changes = False

Expand Down

0 comments on commit 5fe39ab

Please sign in to comment.