Iterate over all extruder stacks rather than just the used ones

Otherwise it usually only iterates over the one that the model is printing with or something. We want to iterate over all extruders that are not deactivated.

Contributes to issue CURA-6597.
This commit is contained in:
Ghostkeeper 2019-07-04 11:06:47 +02:00
parent 6ba70f3425
commit 926df1111b
No known key found for this signature in database
GPG key ID: 86BEF881AE2CF276

View file

@ -105,7 +105,7 @@ class IntentManager(QObject):
return ["default"] return ["default"]
current_definition_id = global_stack.definition.getMetaDataEntry("id") current_definition_id = global_stack.definition.getMetaDataEntry("id")
final_intent_categories = set() # type: Set[str] final_intent_categories = set() # type: Set[str]
for extruder_stack in ExtruderManager.getInstance().getUsedExtruderStacks(): for extruder_stack in ExtruderManager.getInstance().getActiveExtruderStacks():
nozzle_name = extruder_stack.variant.getMetaDataEntry("name") nozzle_name = extruder_stack.variant.getMetaDataEntry("name")
material_id = extruder_stack.material.getMetaDataEntry("base_file") material_id = extruder_stack.material.getMetaDataEntry("base_file")
final_intent_categories.update(self.intentCategories(current_definition_id, nozzle_name, material_id)) final_intent_categories.update(self.intentCategories(current_definition_id, nozzle_name, material_id))
@ -124,7 +124,7 @@ class IntentManager(QObject):
if global_stack is None: if global_stack is None:
return return
current_definition_id = global_stack.definition.getMetaDataEntry("id") current_definition_id = global_stack.definition.getMetaDataEntry("id")
for extruder_stack in ExtruderManager.getInstance().getUsedExtruderStacks(): for extruder_stack in ExtruderManager.getInstance().getActiveExtruderStacks():
nozzle_name = extruder_stack.variant.getMetaDataEntry("name") nozzle_name = extruder_stack.variant.getMetaDataEntry("name")
material_id = extruder_stack.material.getMetaDataEntry("base_file") material_id = extruder_stack.material.getMetaDataEntry("base_file")
intent = application.getContainerRegistry().findContainers(definition = current_definition_id, variant = nozzle_name, material = material_id, quality_type = quality_type, intent_category = intent_category) intent = application.getContainerRegistry().findContainers(definition = current_definition_id, variant = nozzle_name, material = material_id, quality_type = quality_type, intent_category = intent_category)
@ -137,5 +137,5 @@ class IntentManager(QObject):
## Selects the default intents on every extruder. ## Selects the default intents on every extruder.
def selectDefaultIntent(self) -> None: def selectDefaultIntent(self) -> None:
for extruder_stack in ExtruderManager.getInstance().getUsedExtruderStacks(): for extruder_stack in ExtruderManager.getInstance().getActiveExtruderStacks():
extruder_stack.intent = self.getDefaultIntent() extruder_stack.intent = self.getDefaultIntent()