mirror of
https://github.com/Ultimaker/Cura.git
synced 2025-07-20 05:07:50 -06:00
Update intents model to use container tree
CURA-6598
This commit is contained in:
parent
a8b818fbdc
commit
ba0c16d968
2 changed files with 21 additions and 11 deletions
|
@ -10,6 +10,7 @@ from UM.Settings.ContainerRegistry import ContainerRegistry
|
|||
from UM.Settings.SettingFunction import SettingFunction
|
||||
|
||||
from cura.Machines.ContainerTree import ContainerTree
|
||||
from cura.Settings.ExtruderManager import ExtruderManager
|
||||
from cura.Settings.IntentManager import IntentManager
|
||||
import cura.CuraApplication
|
||||
|
||||
|
@ -61,18 +62,27 @@ class IntentModel(ListModel):
|
|||
return
|
||||
quality_groups = ContainerTree.getInstance().getCurrentQualityGroups()
|
||||
|
||||
container_tree = ContainerTree.getInstance()
|
||||
machine_node = container_tree.machines[global_stack.definition.getId()]
|
||||
active_extruder = ExtruderManager.getInstance().getActiveExtruderStack()
|
||||
active_variant_name = active_extruder.variant.getMetaDataEntry("name")
|
||||
active_variant_node = machine_node.variants[active_variant_name]
|
||||
active_material_node = active_variant_node.materials[active_extruder.material.getMetaDataEntry("base_file")]
|
||||
layer_heights_added = []
|
||||
for quality_tuple, quality_group in quality_groups.items():
|
||||
# Add the intents that are of the correct category
|
||||
if quality_tuple[0] == self._intent_category:
|
||||
layer_height = self._fetchLayerHeight(quality_group)
|
||||
new_items.append({"name": quality_group.name,
|
||||
"quality_type": quality_tuple[1],
|
||||
"layer_height": layer_height,
|
||||
"available": quality_group.is_available,
|
||||
"intent_category": self._intent_category
|
||||
})
|
||||
for quality_id, quality_node in active_material_node.qualities.items():
|
||||
quality_group = quality_groups[quality_node.quality_type]
|
||||
layer_height = self._fetchLayerHeight(quality_group)
|
||||
|
||||
for intent_id, intent_node in quality_node.intents.items():
|
||||
if intent_node.intent_category != self._intent_category:
|
||||
continue
|
||||
layer_heights_added.append(layer_height)
|
||||
new_items.append({"name": quality_group.name,
|
||||
"quality_type": quality_group.quality_type,
|
||||
"layer_height": layer_height,
|
||||
"available": quality_group.is_available,
|
||||
"intent_category": self._intent_category
|
||||
})
|
||||
|
||||
# Now that we added all intents that we found something for, ensure that we set add ticks (and layer_heights)
|
||||
# for all groups that we don't have anything for (and set it to not available)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue