diff --git a/cura/Settings/MachineManager.py b/cura/Settings/MachineManager.py index 07548e21dd..6debd8d68e 100755 --- a/cura/Settings/MachineManager.py +++ b/cura/Settings/MachineManager.py @@ -1227,7 +1227,7 @@ class MachineManager(QObject): self._updateQualityWithMaterial() @pyqtSlot(str, "QVariant") - def setVariantGroup(self, position, container_node): + def setVariant(self, position, container_node): position = str(position) self.blurSettings.emit() with postponeSignals(*self._getContainerChangedSignals(), compress = CompressTechnique.CompressPerParameterValue): diff --git a/cura/Settings/PerObjectContainerStack.py b/cura/Settings/PerObjectContainerStack.py index 6c54ed46d5..33111cbed7 100644 --- a/cura/Settings/PerObjectContainerStack.py +++ b/cura/Settings/PerObjectContainerStack.py @@ -3,13 +3,14 @@ from typing import Any, Optional from UM.Application import Application from UM.Decorators import override from UM.Settings.Interfaces import PropertyEvaluationContext -from UM.Settings.ContainerStack import ContainerStack from UM.Settings.SettingInstance import InstanceState +from .CuraContainerStack import CuraContainerStack -class PerObjectContainerStack(ContainerStack): - @override(ContainerStack) +class PerObjectContainerStack(CuraContainerStack): + + @override(CuraContainerStack) def getProperty(self, key: str, property_name: str, context: Optional[PropertyEvaluationContext] = None) -> Any: if context is None: context = PropertyEvaluationContext() @@ -51,8 +52,8 @@ class PerObjectContainerStack(ContainerStack): context.popContainer() return result - @override(ContainerStack) - def setNextStack(self, stack: ContainerStack): + @override(CuraContainerStack) + def setNextStack(self, stack: CuraContainerStack): super().setNextStack(stack) # trigger signal to re-evaluate all default settings diff --git a/cura/Settings/SettingOverrideDecorator.py b/cura/Settings/SettingOverrideDecorator.py index d7ae43f938..e853a3a979 100644 --- a/cura/Settings/SettingOverrideDecorator.py +++ b/cura/Settings/SettingOverrideDecorator.py @@ -3,7 +3,6 @@ import copy -from UM.Scene.Iterator.DepthFirstIterator import DepthFirstIterator from UM.Scene.SceneNodeDecorator import SceneNodeDecorator from UM.Signal import Signal, signalemitter from UM.Settings.InstanceContainer import InstanceContainer @@ -33,9 +32,11 @@ class SettingOverrideDecorator(SceneNodeDecorator): def __init__(self): super().__init__() - self._stack = PerObjectContainerStack(stack_id = "per_object_stack_" + str(id(self))) + self._stack = PerObjectContainerStack(container_id = "per_object_stack_" + str(id(self))) self._stack.setDirty(False) # This stack does not need to be saved. - self._stack.addContainer(InstanceContainer(container_id = "SettingOverrideInstanceContainer")) + user_container = InstanceContainer(container_id = "SettingOverrideInstanceContainer") + user_container.addMetaDataEntry("type", "user") + self._stack.userChanges = user_container self._extruder_stack = ExtruderManager.getInstance().getExtruderStack(0).getId() self._is_non_printing_mesh = False diff --git a/plugins/UM3NetworkPrinting/ClusterUM3OutputDevice.py b/plugins/UM3NetworkPrinting/ClusterUM3OutputDevice.py index c19c86d6ce..a68eabe305 100644 --- a/plugins/UM3NetworkPrinting/ClusterUM3OutputDevice.py +++ b/plugins/UM3NetworkPrinting/ClusterUM3OutputDevice.py @@ -216,7 +216,7 @@ class ClusterUM3OutputDevice(NetworkedPrinterOutputDevice): @pyqtProperty("QVariantList", notify=printJobsChanged) def queuedPrintJobs(self) -> List[PrintJobOutputModel]: - return [print_job for print_job in self._print_jobs if print_job.assignedPrinter is None or print_job.state == "queued"] + return [print_job for print_job in self._print_jobs if print_job.state == "queued"] @pyqtProperty("QVariantList", notify=printJobsChanged) def activePrintJobs(self) -> List[PrintJobOutputModel]: diff --git a/resources/qml/Menus/NozzleMenu.qml b/resources/qml/Menus/NozzleMenu.qml index 43f3b79dd4..886216dab0 100644 --- a/resources/qml/Menus/NozzleMenu.qml +++ b/resources/qml/Menus/NozzleMenu.qml @@ -32,7 +32,7 @@ Menu } exclusiveGroup: group onTriggered: { - Cura.MachineManager.setVariantGroup(menu.extruderIndex, model.container_node); + Cura.MachineManager.setVariant(menu.extruderIndex, model.container_node); } } diff --git a/resources/qml/Menus/SettingVisibilityPresetsMenu.qml b/resources/qml/Menus/SettingVisibilityPresetsMenu.qml index 47f8846050..2175cfa402 100644 --- a/resources/qml/Menus/SettingVisibilityPresetsMenu.qml +++ b/resources/qml/Menus/SettingVisibilityPresetsMenu.qml @@ -41,8 +41,7 @@ Menu MenuItem { text: catalog.i18nc("@action:inmenu", "Show All Settings") - checkable: true - checked: showingAllSettings + checkable: false exclusiveGroup: group onTriggered: { diff --git a/resources/variants/ultimaker3_aa0.8.inst.cfg b/resources/variants/ultimaker3_aa0.8.inst.cfg index 0bccf91b7c..97ee3587cf 100644 --- a/resources/variants/ultimaker3_aa0.8.inst.cfg +++ b/resources/variants/ultimaker3_aa0.8.inst.cfg @@ -46,6 +46,7 @@ retraction_count_max = 25 retraction_extrusion_window = 1 retraction_hop = 2 retraction_hop_only_when_collides = True +retraction_min_travel = =line_width * 2 skin_overlap = 5 speed_equalize_flow_enabled = True speed_layer_0 = 20 diff --git a/resources/variants/ultimaker3_bb0.8.inst.cfg b/resources/variants/ultimaker3_bb0.8.inst.cfg index ef6dc625ac..f80fa05d1d 100644 --- a/resources/variants/ultimaker3_bb0.8.inst.cfg +++ b/resources/variants/ultimaker3_bb0.8.inst.cfg @@ -57,7 +57,7 @@ retraction_count_max = 15 retraction_extrusion_window = =retraction_amount retraction_hop = 2 retraction_hop_only_when_collides = True -retraction_min_travel = 5 +retraction_min_travel = =line_width * 3 retraction_prime_speed = 15 skin_overlap = 5 speed_layer_0 = 20 diff --git a/resources/variants/ultimaker3_extended_aa0.8.inst.cfg b/resources/variants/ultimaker3_extended_aa0.8.inst.cfg index 184416b06e..149b832514 100644 --- a/resources/variants/ultimaker3_extended_aa0.8.inst.cfg +++ b/resources/variants/ultimaker3_extended_aa0.8.inst.cfg @@ -46,6 +46,7 @@ retraction_count_max = 25 retraction_extrusion_window = 1 retraction_hop = 2 retraction_hop_only_when_collides = True +retraction_min_travel = =line_width * 2 skin_overlap = 5 speed_equalize_flow_enabled = True speed_layer_0 = 20 diff --git a/resources/variants/ultimaker3_extended_bb0.8.inst.cfg b/resources/variants/ultimaker3_extended_bb0.8.inst.cfg index 8a1a9373f3..541034f119 100644 --- a/resources/variants/ultimaker3_extended_bb0.8.inst.cfg +++ b/resources/variants/ultimaker3_extended_bb0.8.inst.cfg @@ -57,7 +57,7 @@ retraction_count_max = 15 retraction_extrusion_window = =retraction_amount retraction_hop = 2 retraction_hop_only_when_collides = True -retraction_min_travel = 5 +retraction_min_travel = =line_width * 3 retraction_prime_speed = 15 skin_overlap = 5 speed_layer_0 = 20