From aed0c124e942c450e1d1795613aaff50b6fc29a5 Mon Sep 17 00:00:00 2001 From: Jack Ha Date: Thu, 15 Feb 2018 11:47:14 +0100 Subject: [PATCH] CURA-4606 improved addExtruderStackForSingleExtrusionMachine by using containers directly --- cura/Settings/CuraContainerRegistry.py | 30 +++++++++++++------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/cura/Settings/CuraContainerRegistry.py b/cura/Settings/CuraContainerRegistry.py index e18710e46d..393e36db30 100644 --- a/cura/Settings/CuraContainerRegistry.py +++ b/cura/Settings/CuraContainerRegistry.py @@ -25,7 +25,6 @@ from UM.Resources import Resources from . import ExtruderStack from . import GlobalStack -from .ContainerManager import ContainerManager from .ExtruderManager import ExtruderManager from cura.CuraApplication import CuraApplication @@ -33,6 +32,7 @@ from cura.CuraApplication import CuraApplication from UM.i18n import i18nCatalog catalog = i18nCatalog("cura") + class CuraContainerRegistry(ContainerRegistry): def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) @@ -514,8 +514,6 @@ class CuraContainerRegistry(ContainerRegistry): extruder_stack.setDefinition(extruder_definition) extruder_stack.addMetaDataEntry("position", extruder_definition.getMetaDataEntry("position")) - from cura.CuraApplication import CuraApplication - # create a new definition_changes container for the extruder stack definition_changes_id = self.uniqueName(extruder_stack.getId() + "_settings") if create_new_ids else extruder_stack.getId() + "_settings" definition_changes_name = definition_changes_id @@ -574,26 +572,28 @@ class CuraContainerRegistry(ContainerRegistry): self.addContainer(user_container) extruder_stack.setUserChanges(user_container) - variant_id = "default" + application = CuraApplication.getInstance() + empty_variant = application.empty_variant_container + empty_material = application.empty_material_container + empty_quality = application.empty_quality_container + if machine.variant.getId() not in ("empty", "empty_variant"): - variant_id = machine.variant.getId() + variant = machine.variant else: - variant_id = "empty_variant" - extruder_stack.variant = self.findInstanceContainers(id = variant_id)[0] + variant = empty_variant + extruder_stack.variant = variant - material_id = "default" if machine.material.getId() not in ("empty", "empty_material"): - material_id = machine.material.getId() + material = machine.material else: - material_id = "empty_material" - extruder_stack.material = self.findInstanceContainers(id = material_id)[0] + material = empty_material + extruder_stack.material = material - quality_id = "default" if machine.quality.getId() not in ("empty", "empty_quality"): - quality_id = machine.quality.getId() + quality = machine.quality else: - quality_id = "empty_quality" - extruder_stack.quality = self.findInstanceContainers(id = quality_id)[0] + quality = empty_quality + extruder_stack.quality = quality machine_quality_changes = machine.qualityChanges if new_global_quality_changes is not None: