From f952b45a6221b80166f4b8da73c804c864182749 Mon Sep 17 00:00:00 2001 From: Arjen Hiemstra Date: Mon, 24 Oct 2016 13:36:31 +0200 Subject: [PATCH] Use the machine/extruder ID as base for duplicated profile ID Instead of using the ID of the duplicated container, which would cause the profile ID to be the old ID with the new ID appended. Fixes CURA-2782 --- cura/Settings/ContainerManager.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/cura/Settings/ContainerManager.py b/cura/Settings/ContainerManager.py index 7f2555af03..f94f628686 100644 --- a/cura/Settings/ContainerManager.py +++ b/cura/Settings/ContainerManager.py @@ -650,7 +650,10 @@ class ContainerManager(QObject): new_change_instances = [] for container in QualityManager.getInstance().findQualityChangesByName(quality_changes_name, machine_definition): - new_unique_id = self._createUniqueId(container.getId(), base_name) + base_id = container.getMetaDataEntry("extruder") + if not base_id: + base_id = container.getDefinition().getId() + new_unique_id = self._createUniqueId(base_id, base_name) new_container = container.duplicate(new_unique_id, base_name) new_change_instances.append(new_container) self._container_registry.addContainer(new_container) @@ -788,6 +791,7 @@ class ContainerManager(QObject): # Create a new quality_changes container for the quality. quality_changes = UM.Settings.InstanceContainer(self._createUniqueId(base_id, new_name)) + print(quality_changes.getId()) quality_changes.setName(new_name) quality_changes.addMetaDataEntry("type", "quality_changes") quality_changes.addMetaDataEntry("quality_type", quality_container.getMetaDataEntry("quality_type"))