diff --git a/cura/Settings/MachineManager.py b/cura/Settings/MachineManager.py index 342ef8b450..0487f75de9 100644 --- a/cura/Settings/MachineManager.py +++ b/cura/Settings/MachineManager.py @@ -148,8 +148,7 @@ class MachineManager(QObject): if matching_extruder and matching_extruder.findContainer({"type": "material"}).getMetaDataEntry("GUID") != material_id: # Save the material that needs to be changed. Multiple changes will be handled by the callback. - if matching_extruder: - variant_container = matching_extruder.findContainer({"type": "variant"}) + variant_container = matching_extruder.findContainer({"type": "variant"}) if self._global_container_stack.getBottom().getMetaDataEntry("has_variants") and variant_container: variant_id = self.getQualityVariantId(self._global_container_stack.getBottom(), variant_container) for container in containers: @@ -388,7 +387,16 @@ class MachineManager(QObject): top_container.removeInstance(key, postpone_emit=True) send_emits_containers.append(top_container) - for stack in ExtruderManager.getInstance().getMachineExtruders(self._global_container_stack.getId()): + linked = not self._global_container_stack.getProperty(key, "settable_per_extruder") or \ + self._global_container_stack.getProperty(key, "limit_to_extruder") != "-1" + + if not linked: + stack = ExtruderManager.getInstance().getActiveExtruderStack() + stacks = [stack] + else: + stacks = ExtruderManager.getInstance().getMachineExtruders(self._global_container_stack.getId()) + + for stack in stacks: container = stack.getTop() container.removeInstance(key, postpone_emit=True) send_emits_containers.append(container) diff --git a/resources/qml/Sidebar.qml b/resources/qml/Sidebar.qml index 036f1283cc..22815c8b66 100644 --- a/resources/qml/Sidebar.qml +++ b/resources/qml/Sidebar.qml @@ -186,20 +186,21 @@ Rectangle Label { id: settingsModeLabel - text: catalog.i18nc("@label:listbox","Print Setup"); + text: catalog.i18nc("@label:listbox", "Print Setup"); anchors.left: parent.left anchors.leftMargin: UM.Theme.getSize("default_margin").width; anchors.top: headerSeparator.bottom anchors.topMargin: UM.Theme.getSize("default_margin").height - width: parent.width/100*45 + width: parent.width * 0.45 - 2 * UM.Theme.getSize("default_margin").width font: UM.Theme.getFont("large") color: UM.Theme.getColor("text") visible: !monitoringPrint + elide: Text.ElideRight } Rectangle { id: settingsModeSelection - width: parent.width/100*55 + width: parent.width * 0.55 height: UM.Theme.getSize("sidebar_header_mode_toggle").height anchors.right: parent.right anchors.rightMargin: UM.Theme.getSize("default_margin").width @@ -262,7 +263,7 @@ Rectangle anchors.leftMargin: UM.Theme.getSize("default_margin").width; anchors.top: headerSeparator.bottom anchors.topMargin: UM.Theme.getSize("default_margin").height - width: parent.width/100*45 + width: parent.width * 0.45 font: UM.Theme.getFont("large") color: UM.Theme.getColor("text") visible: monitoringPrint