From 1426cab08dbb56807f21775e9ec7066afb7c49a1 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Wed, 25 Sep 2024 14:19:42 +0200 Subject: [PATCH] Add supress_signals property to setName of instance container CURA-6842 --- UM/Settings/InstanceContainer.py | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/UM/Settings/InstanceContainer.py b/UM/Settings/InstanceContainer.py index 5eba4ddeb..c6855dcf0 100644 --- a/UM/Settings/InstanceContainer.py +++ b/UM/Settings/InstanceContainer.py @@ -214,14 +214,18 @@ def getName(self) -> str: return self._metadata["name"] - def setName(self, name: str) -> None: + def setName(self, name: str, *, supress_signals = False) -> None: + # In some cases you want to change the name of multiple containers and not yet want to trigger events. + # In thsoe cases you need to use supress_signals to make sure that no signals are sent. Be *very* carefull + # with using this! if name != self.getName(): CachedMemberFunctions.clearInstanceCache(self) self._metadata["name"] = name self._dirty = True - self.nameChanged.emit() - self.pyqtNameChanged.emit() - self.metaDataChanged.emit(self) + if not supress_signals: + self.nameChanged.emit() + self.pyqtNameChanged.emit() + self.metaDataChanged.emit(self) # Because we want to expose the properties of InstanceContainer as Qt properties for