Update intents model to use container tree

CURA-6598
This commit is contained in:
Jaime van Kessel 2019-08-29 13:53:23 +02:00
parent a8b818fbdc
commit ba0c16d968
2 changed files with 21 additions and 11 deletions

View file

@ -10,6 +10,7 @@ from UM.Settings.ContainerRegistry import ContainerRegistry
from UM.Settings.SettingFunction import SettingFunction from UM.Settings.SettingFunction import SettingFunction
from cura.Machines.ContainerTree import ContainerTree from cura.Machines.ContainerTree import ContainerTree
from cura.Settings.ExtruderManager import ExtruderManager
from cura.Settings.IntentManager import IntentManager from cura.Settings.IntentManager import IntentManager
import cura.CuraApplication import cura.CuraApplication
@ -61,18 +62,27 @@ class IntentModel(ListModel):
return return
quality_groups = ContainerTree.getInstance().getCurrentQualityGroups() 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 = [] layer_heights_added = []
for quality_tuple, quality_group in quality_groups.items(): for quality_id, quality_node in active_material_node.qualities.items():
# Add the intents that are of the correct category quality_group = quality_groups[quality_node.quality_type]
if quality_tuple[0] == self._intent_category: layer_height = self._fetchLayerHeight(quality_group)
layer_height = self._fetchLayerHeight(quality_group)
new_items.append({"name": quality_group.name, for intent_id, intent_node in quality_node.intents.items():
"quality_type": quality_tuple[1], if intent_node.intent_category != self._intent_category:
"layer_height": layer_height, continue
"available": quality_group.is_available,
"intent_category": self._intent_category
})
layer_heights_added.append(layer_height) 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) # 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) # for all groups that we don't have anything for (and set it to not available)

View file

@ -20,7 +20,7 @@ SettingItem
textRole: "value" textRole: "value"
anchors.fill: parent anchors.fill: parent
onActivated: onActivated:
{ {
forceActiveFocus() forceActiveFocus()