diff --git a/cura/Machines/Models/IntentModel.py b/cura/Machines/Models/IntentModel.py index 275087689b..c5d63183dd 100644 --- a/cura/Machines/Models/IntentModel.py +++ b/cura/Machines/Models/IntentModel.py @@ -8,6 +8,7 @@ from PyQt5.QtCore import Qt, QObject, pyqtProperty, pyqtSignal from UM.Qt.ListModel import ListModel from UM.Settings.ContainerRegistry import ContainerRegistry +from cura.Machines.ContainerTree import ContainerTree from cura.Settings.IntentManager import IntentManager import cura.CuraApplication @@ -47,13 +48,15 @@ class IntentModel(ListModel): def _update(self) -> None: new_items = [] # type: List[Dict[str, Any]] - application = cura.CuraApplication.CuraApplication.getInstance() - quality_manager = application.getQualityManager() - global_stack = application.getGlobalContainerStack() + global_stack = cura.CuraApplication.CuraApplication.getInstance().getGlobalContainerStack() if not global_stack: self.setItems(new_items) return - quality_groups = quality_manager.getQualityGroups(global_stack) + definition_id = global_stack.definition.getId() + variant_names = [extruder.variant.getName() for extruder in global_stack.extruders.values()] + material_bases = [extruder.material.getMetaDataEntry("base_file") for extruder in global_stack.extruders.values()] + extruder_enabled = [extruder.isEnabled for extruder in global_stack.extruders.values()] + quality_groups = ContainerTree.getInstance().machines[definition_id].getQualityGroups(variant_names, material_bases, extruder_enabled) for intent_category, quality_type in IntentManager.getInstance().getCurrentAvailableIntents(): if intent_category == self._intent_category: