diff --git a/cura/Machines/QualityManager.py b/cura/Machines/QualityManager.py index e7c4157868..ed64fe92b6 100644 --- a/cura/Machines/QualityManager.py +++ b/cura/Machines/QualityManager.py @@ -1,7 +1,8 @@ # Copyright (c) 2018 Ultimaker B.V. # Cura is released under the terms of the LGPLv3 or higher. -from PyQt5.QtCore import QObject, QTimer, pyqtSignal +from typing import TYPE_CHECKING +from PyQt5.QtCore import QObject, QTimer, pyqtSignal, pyqtSlot from UM.Application import Application from UM.Logger import Logger @@ -10,6 +11,10 @@ from UM.Util import parseBool from .QualityGroup import QualityGroup from .QualityNode import QualityNode +if TYPE_CHECKING: + from cura.Settings.GlobalStack import GlobalStack + from .QualityChangesGroup import QualityChangesGroup + # # Quality lookup tree structure: # @@ -332,6 +337,19 @@ class QualityManager(QObject): return quality_group_dict + # + # Methods for GUI + # + + # + # Remove the given quality changes group. + # + @pyqtSlot(QObject) + def removeQualityChangesGroup(self, quality_changes_group: "QualityChangesGroup"): + Logger.log("i", "Removing quality changes group [%s]", quality_changes_group.name) + for node in quality_changes_group.getAllNodes(): + self._container_registry.removeContainer(node.metadata["id"]) + # # Gets the machine definition ID that can be used to search for Quality containers that are suitable for the given diff --git a/cura/Settings/ContainerManager.py b/cura/Settings/ContainerManager.py index 22f890c6ac..d4f72139b1 100644 --- a/cura/Settings/ContainerManager.py +++ b/cura/Settings/ContainerManager.py @@ -382,15 +382,6 @@ class ContainerManager(QObject): self._container_registry.addContainer(new_changes) - # - # Remove the given quality changes group - # - @pyqtSlot(QObject) - def removeQualityChangesGroup(self, quality_changes_group): - Logger.log("i", "Removing quality changes group [%s]", quality_changes_group.name) - for node in quality_changes_group.getAllNodes(): - self._container_registry.removeContainer(node.metadata["id"]) - # # Rename a set of quality changes containers. Returns the new name. # diff --git a/resources/qml/Preferences/ProfilesPage.qml b/resources/qml/Preferences/ProfilesPage.qml index e5c7e3662a..7beb96a535 100644 --- a/resources/qml/Preferences/ProfilesPage.qml +++ b/resources/qml/Preferences/ProfilesPage.qml @@ -13,6 +13,8 @@ import Cura 1.0 as Cura Item { id: base + + property QtObject qualityManager: CuraApplication.getQualityManager() property var resetEnabled: false // Keep PreferencesDialog happy property var extrudersModel: Cura.ExtrudersModel {} @@ -239,9 +241,9 @@ Item onYes: { - Cura.ContainerManager.removeQualityChangesGroup(base.currentItem.quality_changes_group); + base.qualityManager.removeQualityChangesGroup(base.currentItem.quality_changes_group); // reset current item to the first if available - qualityListView.currentIndex = -1; // TODO: Reset selection. + qualityListView.currentIndex = -1; // Reset selection. } }