From 9ef709962ff3239261ca42bc26334d61f797cf83 Mon Sep 17 00:00:00 2001 From: Arjen Hiemstra Date: Thu, 4 Aug 2016 02:12:32 +0200 Subject: [PATCH] Start implementing a createQualityChanges method in ContainerManager It will be used to create the quality change containers from the existing user containers. Contributes to CURA-2006 --- cura/Settings/ContainerManager.py | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/cura/Settings/ContainerManager.py b/cura/Settings/ContainerManager.py index ad9c61366f..7a6d5b8184 100644 --- a/cura/Settings/ContainerManager.py +++ b/cura/Settings/ContainerManager.py @@ -381,6 +381,28 @@ class ContainerManager(QObject): extruder.getTop().clear() global_stack.getTop().clear() + + @pyqtSlot() + def createQualityChanges(self): + global_stack = UM.Application.getInstance().getGlobalContainerStack() + + user_container = global_stack.getTop() + quality_container = global_stack.findContainer(type = "quality") + if not quality_container: + return + + unique_name = UM.Settings.ContainerRegistry.getInstance().uniqueName(quality_container.getName()) + unique_id = unique_name.lower() + unique_id.replace(" ", "_") + + quality_changes = user_container.duplicate() + quality_changes.setMetaDataEntry("type", "quality_changes") + quality_changes.setMetaDataEntry("quality_base", quality_container.getId()) + + UM.Settings.ContainerRegistry.getInstance().addContainer(quality_changes) + + + # Factory function, used by QML @staticmethod def createContainerManager(engine, js_engine):