Use ContainerTree to get quality groups

Contributes to issue CURA-6600.
This commit is contained in:
Ghostkeeper 2019-08-15 16:35:30 +02:00
parent ed19e9e15c
commit 3f944462ed
No known key found for this signature in database
GPG key ID: 86BEF881AE2CF276
2 changed files with 11 additions and 11 deletions

View file

@ -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()

View file

@ -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)