Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/Ultimaker/Cura.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJaime van Kessel <nallath@gmail.com>2021-12-10 11:51:09 +0300
committerJaime van Kessel <nallath@gmail.com>2021-12-10 11:51:09 +0300
commitfe8a3fc61d5720997ba246db6b7eb422a2f4496e (patch)
tree208cc553386e03ee3bf69777700ba2a76282189d /cura/Machines
parentf456c1a885b13db7fd8cb8c8cf266325c269af72 (diff)
Prevent crash when setting non default intent category
Diffstat (limited to 'cura/Machines')
-rw-r--r--cura/Machines/Models/IntentCategoryModel.py6
-rw-r--r--cura/Machines/Models/QualityManagementModel.py9
2 files changed, 13 insertions, 2 deletions
diff --git a/cura/Machines/Models/IntentCategoryModel.py b/cura/Machines/Models/IntentCategoryModel.py
index d4f28a78e9..aeb1f878ca 100644
--- a/cura/Machines/Models/IntentCategoryModel.py
+++ b/cura/Machines/Models/IntentCategoryModel.py
@@ -106,11 +106,15 @@ class IntentCategoryModel(ListModel):
for category in available_categories:
qualities = IntentModel()
qualities.setIntentCategory(category)
+ try:
+ weight = list(IntentCategoryModel._get_translations().keys()).index(category)
+ except ValueError:
+ weight = 99
result.append({
"name": IntentCategoryModel.translation(category, "name", category),
"description": IntentCategoryModel.translation(category, "description", None),
"intent_category": category,
- "weight": list(IntentCategoryModel._get_translations().keys()).index(category),
+ "weight": weight,
"qualities": qualities
})
result.sort(key = lambda k: k["weight"])
diff --git a/cura/Machines/Models/QualityManagementModel.py b/cura/Machines/Models/QualityManagementModel.py
index df12b16c15..63c1ead29d 100644
--- a/cura/Machines/Models/QualityManagementModel.py
+++ b/cura/Machines/Models/QualityManagementModel.py
@@ -361,8 +361,15 @@ class QualityManagementModel(ListModel):
"section_name": catalog.i18nc("@label", intent_translations.get(intent_category, {}).get("name", catalog.i18nc("@label", "Unknown"))),
})
# Sort by quality_type for each intent category
+ intent_translations_list = list(intent_translations)
- result = sorted(result, key = lambda x: (list(intent_translations).index(x["intent_category"]), x["quality_type"]))
+ def getIntentWeight(intent_category):
+ try:
+ return intent_translations_list.index(intent_category)
+ except ValueError:
+ return 99
+
+ result = sorted(result, key = lambda x: (getIntentWeight(x["intent_category"]), x["quality_type"]))
item_list += result
# Create quality_changes group items