From d1d60e27cc2719431aece5cea292bfcc8d17be48 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Fri, 3 Jun 2016 15:25:08 +0200 Subject: [PATCH] Added function to duplicate container CURA-1427 --- cura/MachineManagerModel.py | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/cura/MachineManagerModel.py b/cura/MachineManagerModel.py index f89920e407..355fc188d3 100644 --- a/cura/MachineManagerModel.py +++ b/cura/MachineManagerModel.py @@ -277,8 +277,9 @@ class MachineManagerModel(QObject): return True return containers[0].getMetaDataEntry("read_only", False) == "True" - @pyqtSlot() + @pyqtSlot(result = str) def convertUserContainerToQuality(self): + print("convertUserContainerToQuality") if not self._global_container_stack: return @@ -297,6 +298,23 @@ class MachineManagerModel(QObject): UM.Settings.ContainerRegistry.getInstance().addContainer(new_quality_container) self.clearUserSettings() # As all users settings are noq a quality, remove them. self.setActiveQuality(name) + return name + + @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(), "") + new_container = InstanceContainer("") + new_container.setName(new_name) + new_container._id = new_name + UM.Settings.ContainerRegistry.getInstance().addContainer(new_container) + return new_name + + return "" @pyqtSlot() def updateUserContainerToQuality(self):