Просмотр исходного кода

Fixed duplication of profiles

CURA-1427
Jaime van Kessel 8 лет назад
Родитель
Сommit
490a8724e5
2 измененных файлов с 9 добавлено и 6 удалено
  1. 8 5
      cura/MachineManagerModel.py
  2. 1 1
      resources/qml/Preferences/ProfilesPage.qml

+ 8 - 5
cura/MachineManagerModel.py

@@ -279,7 +279,6 @@ class MachineManagerModel(QObject):
 
     @pyqtSlot(result = str)
     def convertUserContainerToQuality(self):
-        print("convertUserContainerToQuality")
         if not self._global_container_stack:
             return
 
@@ -302,13 +301,17 @@ class MachineManagerModel(QObject):
 
     @pyqtSlot(str, result=str)
     def duplicateContainer(self, container_id):
-        print("convertUserContainerToQuality")
         if not self._global_container_stack:
             return
-        container_to_duplicate = self._global_container_stack.findContainer({"id": container_id})
-        if container_to_duplicate:
-            new_name = self._createUniqueStackName(container_to_duplicate.getName(), "")
+        containers = UM.Settings.ContainerRegistry.getInstance().findInstanceContainers(id=container_id)
+        if containers:
+            new_name = self._createUniqueStackName(containers[0].getName(), "")
+
             new_container = InstanceContainer("")
+
+            ## Copy all values
+            new_container.deserialize(containers[0].serialize())
+
             new_container.setName(new_name)
             new_container._id = new_name
             UM.Settings.ContainerRegistry.getInstance().addContainer(new_container)

+ 1 - 1
resources/qml/Preferences/ProfilesPage.qml

@@ -34,7 +34,7 @@ UM.ManagementPage
             // Current settings
             selectedContainer = Cura.MachineManager.convertUserContainerToQuality();
         } else {
-            selectedContainer = Cura.MachineManager.duplicateContainer(currentItem.id);
+            selectedContainer = Cura.MachineManager.duplicateContainer(base.currentItem.id);
         }
         base.selectContainer(selectedContainer);