From 7cf0f4d8a655bef599bb1c5d817a799167928e04 Mon Sep 17 00:00:00 2001 From: iLLiCiTiT Date: Tue, 4 May 2021 12:09:21 +0200 Subject: [PATCH] add_new_item trigger add to overrides method --- openpype/settings/entities/list_entity.py | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/openpype/settings/entities/list_entity.py b/openpype/settings/entities/list_entity.py index ee647264b75..b89fa3f5ba9 100644 --- a/openpype/settings/entities/list_entity.py +++ b/openpype/settings/entities/list_entity.py @@ -59,8 +59,7 @@ def index(self, item): ) def append(self, item): - child_obj = self._add_new_item() - child_obj.set_override_state(self._override_state) + child_obj = self.add_new_item(trigger_change=False) child_obj.set(item) self.on_change() @@ -92,8 +91,7 @@ def remove(self, item): raise ValueError("ListEntity.remove(x): x not in ListEntity") def insert(self, idx, item): - child_obj = self._add_new_item(idx) - child_obj.set_override_state(self._override_state) + child_obj = self.add_new_item(idx, trigger_change=False) child_obj.set(item) self.on_change() @@ -105,10 +103,16 @@ def _add_new_item(self, idx=None): self.children.insert(idx, child_obj) return child_obj - def add_new_item(self, idx=None): + def add_new_item(self, idx=None, trigger_change=True): child_obj = self._add_new_item(idx) child_obj.set_override_state(self._override_state) - self.on_change() + if self._override_state is OverrideState.STUDIO: + child_obj.add_to_studio_default([]) + elif self._override_state is OverrideState.PROJECT: + child_obj.add_to_project_default([]) + + if trigger_change: + self.on_change() return child_obj def swap_items(self, item_1, item_2):