Set intent category of quality changes group correctly

If any profile has a different intent than default, the entire group becomes that intent. There can only be one intent that's different from default per group.

Contributes to issue CURA-6600.
This commit is contained in:
Ghostkeeper 2019-09-12 14:54:24 +02:00
parent 1b9e710f72
commit 9a5d45282a
No known key found for this signature in database
GPG key ID: 86BEF881AE2CF276

View file

@ -124,6 +124,8 @@ class MachineNode(ContainerNode):
name = quality_changes["name"]
if name not in groups_by_name:
groups_by_name[name] = QualityChangesGroup(name, quality_type = quality_changes["quality_type"], intent_category = quality_changes.get("intent_category", "default"))
elif groups_by_name[name].intent_category == "default": # Intent category should be stored as "default" if everything is default or as the intent if any of the extruder have an actual intent.
groups_by_name[name].intent_category = quality_changes.get("intent_category", "default")
if "position" in quality_changes: # An extruder profile.
groups_by_name[name].metadata_per_extruder[int(quality_changes["position"])] = quality_changes
else: # Global profile.