Просмотр исходного кода

Ensure that right intents are added to the tree

CURA-6598
Jaime van Kessel 5 лет назад
Родитель
Сommit
a8b818fbdc
2 измененных файлов с 7 добавлено и 4 удалено
  1. 4 1
      cura/Machines/IntentNode.py
  2. 3 3
      cura/Machines/QualityNode.py

+ 4 - 1
cura/Machines/IntentNode.py

@@ -3,6 +3,7 @@
 
 from typing import TYPE_CHECKING
 
+from UM.Settings.ContainerRegistry import ContainerRegistry
 from cura.Machines.ContainerNode import ContainerNode
 
 if TYPE_CHECKING:
@@ -14,4 +15,6 @@ if TYPE_CHECKING:
 class IntentNode(ContainerNode):
     def __init__(self, container_id: str, quality: "QualityNode") -> None:
         super().__init__(container_id)
-        self.quality = quality
+        self.quality = quality
+        my_metadata = ContainerRegistry.getInstance().findContainersMetadata(id=container_id)[0]
+        self.intent_category = my_metadata.get("intent_category", "default")

+ 3 - 3
cura/Machines/QualityNode.py

@@ -31,8 +31,8 @@ class QualityNode(ContainerNode):
         # Find all intent profiles that fit the current configuration.
         from cura.Machines.MachineNode import MachineNode
         if not isinstance(self.parent, MachineNode):  # Not a global profile.
-            for intent in container_registry.findInstanceContainersMetadata(type = "intent", definition = self.parent.variant.machine.quality_definition, variant = self.parent.variant.variant_name, material = self.parent.base_file):
+            for intent in container_registry.findInstanceContainersMetadata(type = "intent", definition = self.parent.variant.machine.quality_definition, variant = self.parent.variant.variant_name, material = self.parent.base_file, quality_type = self.quality_type):
                 self.intents[intent["id"]] = IntentNode(intent["id"], quality = self)
-        if not self.intents:
-            self.intents["empty_intent"] = IntentNode("empty_intent", quality = self)
+
+        self.intents["empty_intent"] = IntentNode("empty_intent", quality = self)
         # Otherwise, there are no intents for global profiles.