mirror of
https://github.com/Ultimaker/Cura.git
synced 2025-07-07 06:57:28 -06:00
Fix some quality_changes being incorrectly shown for some configurations
CURA-7589
This commit is contained in:
parent
c9239ed32e
commit
eb17e146bc
2 changed files with 16 additions and 3 deletions
|
@ -135,9 +135,7 @@ class MachineNode(ContainerNode):
|
||||||
groups_by_name[name] = QualityChangesGroup(name, quality_type = quality_changes["quality_type"],
|
groups_by_name[name] = QualityChangesGroup(name, quality_type = quality_changes["quality_type"],
|
||||||
intent_category = quality_changes.get("intent_category", "default"),
|
intent_category = quality_changes.get("intent_category", "default"),
|
||||||
parent = CuraApplication.getInstance())
|
parent = CuraApplication.getInstance())
|
||||||
# CURA-6882
|
|
||||||
# Custom qualities are always available, even if they are based on the "not supported" profile.
|
|
||||||
groups_by_name[name].is_available = True
|
|
||||||
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.
|
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")
|
groups_by_name[name].intent_category = quality_changes.get("intent_category", "default")
|
||||||
|
|
||||||
|
@ -146,6 +144,18 @@ class MachineNode(ContainerNode):
|
||||||
else: # Global profile.
|
else: # Global profile.
|
||||||
groups_by_name[name].metadata_for_global = quality_changes
|
groups_by_name[name].metadata_for_global = quality_changes
|
||||||
|
|
||||||
|
quality_groups = self.getQualityGroups(variant_names, material_bases, extruder_enabled)
|
||||||
|
for quality_changes_group in groups_by_name.values():
|
||||||
|
if quality_changes_group.quality_type not in quality_groups:
|
||||||
|
if quality_changes_group.quality_type == "not_supported":
|
||||||
|
# Quality changes based on an empty profile are always available.
|
||||||
|
quality_changes_group.is_available = True
|
||||||
|
else:
|
||||||
|
quality_changes_group.is_available = False
|
||||||
|
else:
|
||||||
|
# Quality changes group is available iff the quality group it depends on is available. Irrespective of whether the intent category is available.
|
||||||
|
quality_changes_group.is_available = quality_groups[quality_changes_group.quality_type].is_available
|
||||||
|
|
||||||
return list(groups_by_name.values())
|
return list(groups_by_name.values())
|
||||||
|
|
||||||
def preferredGlobalQuality(self) -> "QualityNode":
|
def preferredGlobalQuality(self) -> "QualityNode":
|
||||||
|
|
|
@ -365,6 +365,9 @@ class QualityManagementModel(ListModel):
|
||||||
# CURA-6913 Note that custom qualities can be based on "not supported", so the quality group can be None.
|
# CURA-6913 Note that custom qualities can be based on "not supported", so the quality group can be None.
|
||||||
quality_group = quality_group_dict.get(quality_changes_group.quality_type)
|
quality_group = quality_group_dict.get(quality_changes_group.quality_type)
|
||||||
quality_type = quality_changes_group.quality_type
|
quality_type = quality_changes_group.quality_type
|
||||||
|
|
||||||
|
if not quality_changes_group.is_available:
|
||||||
|
continue
|
||||||
item = {"name": quality_changes_group.name,
|
item = {"name": quality_changes_group.name,
|
||||||
"is_read_only": False,
|
"is_read_only": False,
|
||||||
"quality_group": quality_group,
|
"quality_group": quality_group,
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue