From 29c0cc3850ae490cb031d248ffe8d580927633b0 Mon Sep 17 00:00:00 2001 From: Arjen Hiemstra Date: Wed, 10 Aug 2016 11:57:04 +0200 Subject: [PATCH] Fix ContainerManager::renameQuality to set a proper unique id Contributes to CURA-2006 --- cura/Settings/ContainerManager.py | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/cura/Settings/ContainerManager.py b/cura/Settings/ContainerManager.py index 734a908a22..afabc68f4e 100644 --- a/cura/Settings/ContainerManager.py +++ b/cura/Settings/ContainerManager.py @@ -454,11 +454,25 @@ class ContainerManager(QObject): if not quality_name or not new_name: return False + if quality_name == new_name: + return True + + global_stack = UM.Application.getInstance().getGlobalContainerStack() + if not global_stack: + return False + + UM.Application.getInstance().getMachineManager().blurSettings.emit() + new_name = UM.Settings.ContainerRegistry.getInstance().uniqueName(new_name) + new_id = new_name.lower() + new_id.replace(" ", "_") for container in self._getQualityContainers(quality_name): - UM.Settings.ContainerRegistry.getInstance().renameContainer(container.getId(), new_name, new_name) + stack_id = container.getMetaDataEntry("extruder", global_stack.getId()) + UM.Settings.ContainerRegistry.getInstance().renameContainer(container.getId(), new_name, stack_id + "_" + new_id) + + UM.Application.getInstance().getMachineManager().activeQualityChanged.emit() return True @pyqtSlot(str, result = str)