Added way to change active quality

CURA-1278
This commit is contained in:
Jaime van Kessel 2016-05-17 10:49:06 +02:00
parent 9bfe31aeef
commit 59ec593db5

View file

@ -70,6 +70,9 @@ class MachineManagerModel(QObject):
quality_instance_container = UM.Settings.InstanceContainer(name + "_quality")
UM.Settings.ContainerRegistry.getInstance().addContainer(material_instance_container)
UM.Settings.ContainerRegistry.getInstance().addContainer(variant_instance_container)
UM.Settings.ContainerRegistry.getInstance().addContainer(quality_instance_container)
quality_instance_container.addMetaDataEntry("type", "quality")
quality_instance_container.setDefinition(definitions[0])
current_settings_instance_container = UM.Settings.InstanceContainer(name + "_current_settings")
current_settings_instance_container.addMetaDataEntry("machine", name)
@ -80,6 +83,7 @@ class MachineManagerModel(QObject):
new_global_stack.addContainer(definitions[0])
new_global_stack.addContainer(material_instance_container)
new_global_stack.addContainer(variant_instance_container)
new_global_stack.addContainer(quality_instance_container)
new_global_stack.addContainer(current_settings_instance_container)
Application.getInstance().setGlobalContainerStack(new_global_stack)
@ -132,6 +136,14 @@ class MachineManagerModel(QObject):
variant_index = Application.getInstance().getGlobalContainerStack().getContainerIndex(old_variant)
Application.getInstance().getGlobalContainerStack().replaceContainer(variant_index, containers[0])
@pyqtSlot(str)
def setActiveQuality(self, quality_id):
containers = UM.Settings.ContainerRegistry.getInstance().findInstanceContainers(id = quality_id)
old_quality = Application.getInstance().getGlobalContainerStack().findContainer({"type": "quality"})
if old_quality:
quality_index = Application.getInstance().getGlobalContainerStack().getContainerIndex(old_quality)
Application.getInstance().getGlobalContainerStack().replaceContainer(quality_index, containers[0])
@pyqtProperty(str, notify = activeVariantChanged)
def activeVariantName(self):
variant = Application.getInstance().getGlobalContainerStack().findContainer({"type": "variant"})