Fix filtering custom profiles per extruder - CURA-4482

This commit is contained in:
ChrisTerBeke 2017-11-21 15:31:59 +01:00
parent f18cb951fc
commit 62d70b46d6
2 changed files with 4 additions and 20 deletions

View file

@ -183,20 +183,11 @@ class QualityManager:
materials = [] materials = []
# TODO: fix this
if extruder_stacks:
# Multi-extruder machine detected
for stack in extruder_stacks: for stack in extruder_stacks:
if stack.getId() == active_stack_id and machine_manager.newMaterial: if stack.getId() == active_stack_id and machine_manager.newMaterial:
materials.append(machine_manager.newMaterial) materials.append(machine_manager.newMaterial)
else: else:
materials.append(stack.material) materials.append(stack.material)
else:
# Machine with one extruder
if global_container_stack.getId() == active_stack_id and machine_manager.newMaterial:
materials.append(machine_manager.newMaterial)
else:
materials.append(global_container_stack.material)
quality_types = self.findAllQualityTypesForMachineAndMaterials(global_machine_definition, materials) quality_types = self.findAllQualityTypesForMachineAndMaterials(global_machine_definition, materials)

View file

@ -24,9 +24,6 @@ class UserProfilesModel(ProfilesModel):
quality_manager = QualityManager.getInstance() quality_manager = QualityManager.getInstance()
machine_definition = quality_manager.getParentMachineDefinition(global_container_stack.definition) machine_definition = quality_manager.getParentMachineDefinition(global_container_stack.definition)
quality_changes_list = quality_manager.findAllQualityChangesForMachine(machine_definition) quality_changes_list = quality_manager.findAllQualityChangesForMachine(machine_definition)
extruder_manager = ExtruderManager.getInstance()
active_extruder = extruder_manager.getActiveExtruderStack()
extruder_stacks = self._getOrderedExtruderStacksList() extruder_stacks = self._getOrderedExtruderStacksList()
# Fetch the list of usable qualities across all extruders. # Fetch the list of usable qualities across all extruders.
@ -35,10 +32,6 @@ class UserProfilesModel(ProfilesModel):
# Filter the quality_change by the list of available quality_types # Filter the quality_change by the list of available quality_types
quality_type_set = set([x.getMetaDataEntry("quality_type") for x in quality_list]) quality_type_set = set([x.getMetaDataEntry("quality_type") for x in quality_list])
filtered_quality_changes = [qc for qc in quality_changes_list if filtered_quality_changes = [qc for qc in quality_changes_list if qc.getMetaDataEntry("quality_type") in quality_type_set]
qc.getMetaDataEntry("quality_type") in quality_type_set and
qc.getMetaDataEntry("extruder") is not None and
(qc.getMetaDataEntry("extruder") == active_extruder.definition.getMetaDataEntry("quality_definition") or
qc.getMetaDataEntry("extruder") == active_extruder.definition.getId())]
return filtered_quality_changes return filtered_quality_changes