From 3f944462edf18b9758ef29dffdcf639eb55f0f4f Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Thu, 15 Aug 2019 16:35:30 +0200 Subject: [PATCH] Use ContainerTree to get quality groups Contributes to issue CURA-6600. --- cura/Machines/Models/QualityManagementModel.py | 11 ++++++++--- cura/Machines/QualityManager.py | 11 +++-------- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/cura/Machines/Models/QualityManagementModel.py b/cura/Machines/Models/QualityManagementModel.py index 315ab010bb..850e001473 100644 --- a/cura/Machines/Models/QualityManagementModel.py +++ b/cura/Machines/Models/QualityManagementModel.py @@ -1,10 +1,11 @@ -# Copyright (c) 2018 Ultimaker B.V. +# Copyright (c) 2019 Ultimaker B.V. # Cura is released under the terms of the LGPLv3 or higher. from PyQt5.QtCore import Qt, pyqtSlot -from UM.Qt.ListModel import ListModel from UM.Logger import Logger +from UM.Qt.ListModel import ListModel +from cura.Machines.ContainerTree import ContainerTree # # This the QML model for the quality management page. @@ -42,7 +43,11 @@ class QualityManagementModel(ListModel): self.setItems([]) return - quality_group_dict = self._quality_manager.getQualityGroups(global_stack) + variant_names = [extruder.variant.getName() for extruder in global_stack.extruders] + material_bases = [extruder.material.getMetaDataEntry("base_file") for extruder in global_stack.extruders] + extruder_enabled = [extruder.isEnabled for extruder in global_stack.extruders] + definition_id = global_stack.definition.getId() + quality_group_dict = ContainerTree.getInstance().machines[definition_id].getQualityGroups(variant_names, material_bases, extruder_enabled) quality_changes_group_dict = self._quality_manager.getQualityChangesGroups(global_stack) available_quality_types = set(quality_type for quality_type, quality_group in quality_group_dict.items() diff --git a/cura/Machines/QualityManager.py b/cura/Machines/QualityManager.py index 664b091001..79adef2408 100644 --- a/cura/Machines/QualityManager.py +++ b/cura/Machines/QualityManager.py @@ -106,14 +106,9 @@ class QualityManager(QObject): # for those types as values. def getQualityGroups(self, global_stack: "GlobalStack") -> Dict[str, QualityGroup]: # Gather up the variant names and material base files for each extruder. - variant_names = [] - material_bases = [] - extruder_enabled = [] - for extruder in global_stack.extruders.values(): - variant_names.append(extruder.variant.getName()) - material_bases.append(extruder.material.getMetaDataEntry("base_file")) - extruder_enabled.append(extruder.isEnabled) - + variant_names = [extruder.variant.getName() for extruder in global_stack.extruders] + material_bases = [extruder.material.getMetaDataEntry("base_file") for extruder in global_stack.extruders] + extruder_enabled = [extruder.isEnabled for extruder in global_stack.extruders] definition_id = global_stack.definition.getId() return ContainerTree.getInstance().machines[definition_id].getQualityGroups(variant_names, material_bases, extruder_enabled)