diff --git a/cura/Settings/MachineManager.py b/cura/Settings/MachineManager.py index 3c35aaad64..68fbf19c13 100755 --- a/cura/Settings/MachineManager.py +++ b/cura/Settings/MachineManager.py @@ -1148,6 +1148,7 @@ class MachineManager(QObject): def _setEmptyQuality(self): self._current_quality_group = None + self._current_quality_changes_group = None self._global_container_stack.quality = self._empty_quality_container self._global_container_stack.qualityChanges = self._empty_quality_changes_container for extruder in self._global_container_stack.extruders.values(): @@ -1158,6 +1159,7 @@ class MachineManager(QObject): def _setQualityGroup(self, quality_group, empty_quality_changes = True): self._current_quality_group = quality_group + self._current_quality_changes_group = None # Set quality and quality_changes for the GlobalStack self._global_container_stack.quality = quality_group.node_for_global.getContainer() diff --git a/resources/qml/Menus/ProfileMenu.qml b/resources/qml/Menus/ProfileMenu.qml index 8d26bfc982..5924ad5322 100644 --- a/resources/qml/Menus/ProfileMenu.qml +++ b/resources/qml/Menus/ProfileMenu.qml @@ -19,7 +19,7 @@ Menu { text: (model.layer_height != "") ? model.name + " - " + model.layer_height : model.name checkable: true - checked: Cura.MachineManager.activeQualityGroup && (Cura.MachineManager.activeQualityGroup.getName() == model.name) + checked: Cura.MachineManager.activeQualityOrQualityChangesName == model.name exclusiveGroup: group onTriggered: { Cura.MachineManager.setQualityGroup(model.quality_group) @@ -52,9 +52,9 @@ Menu { text: model.name checkable: model.available - checked: Cura.MachineManager.activeQualityChangesId == model.id // TODO: fix for new + checked: Cura.MachineManager.activeQualityOrQualityChangesName == model.name exclusiveGroup: group - onTriggered: Cura.MachineManager.setActiveQuality(model.id) // TODO: fix for new + onTriggered: Cura.MachineManager.setQualityChangesGroup(model.quality_changes_group) } onObjectAdded: diff --git a/resources/qml/Preferences/ProfilesPage.qml b/resources/qml/Preferences/ProfilesPage.qml index f2a442debe..0424dd823f 100644 --- a/resources/qml/Preferences/ProfilesPage.qml +++ b/resources/qml/Preferences/ProfilesPage.qml @@ -44,7 +44,10 @@ Item } property var isCurrentItemActivated: { - // TODO + if (!base.currentItem) { + return false; + } + return base.currentItem.name == Cura.MachineManager.activeQualityOrQualityChangesName; } Row // Button Row @@ -62,9 +65,13 @@ Item { text: catalog.i18nc("@action:button", "Activate") iconName: "list-activate" - enabled: base.currentItem != null ? base.currentItem.name != Cura.MachineManager.activeQualityOrQualityChangesName : false; + enabled: !isCurrentItemActivated onClicked: { - // TODO + if (base.currentItem.is_read_only) { + Cura.MachineManager.setQualityGroup(base.currentItem.quality_group); + } else { + Cura.MachineManager.setQualityChangesGroup(base.currentItem.quality_changes_group); + } } }