mirror of
https://github.com/Ultimaker/Cura.git
synced 2025-07-10 08:17:49 -06:00
Sort profile models case-insensitively
Cast every sorting key to uppercase before doing this. Don't cast to lowercase or there will be problems with characters that don't have lowercase and with Turkish dotted i vs. undotted i. Fixes #3460.
This commit is contained in:
parent
3550ef80e0
commit
d8853b8a98
6 changed files with 9 additions and 9 deletions
|
@ -122,17 +122,17 @@ class BrandMaterialsModel(ListModel):
|
||||||
material_type_item["colors"].clear()
|
material_type_item["colors"].clear()
|
||||||
|
|
||||||
# Sort materials by name
|
# Sort materials by name
|
||||||
material_list = sorted(material_list, key = lambda x: x["name"])
|
material_list = sorted(material_list, key = lambda x: x["name"].upper())
|
||||||
material_type_item["colors"].setItems(material_list)
|
material_type_item["colors"].setItems(material_list)
|
||||||
|
|
||||||
material_type_item_list.append(material_type_item)
|
material_type_item_list.append(material_type_item)
|
||||||
|
|
||||||
# Sort material type by name
|
# Sort material type by name
|
||||||
material_type_item_list = sorted(material_type_item_list, key = lambda x: x["name"])
|
material_type_item_list = sorted(material_type_item_list, key = lambda x: x["name"].upper())
|
||||||
brand_item["materials"].setItems(material_type_item_list)
|
brand_item["materials"].setItems(material_type_item_list)
|
||||||
|
|
||||||
brand_item_list.append(brand_item)
|
brand_item_list.append(brand_item)
|
||||||
|
|
||||||
# Sort brand by name
|
# Sort brand by name
|
||||||
brand_item_list = sorted(brand_item_list, key = lambda x: x["name"])
|
brand_item_list = sorted(brand_item_list, key = lambda x: x["name"].upper())
|
||||||
self.setItems(brand_item_list)
|
self.setItems(brand_item_list)
|
||||||
|
|
|
@ -23,7 +23,7 @@ class CustomQualityProfilesDropDownMenuModel(QualityProfilesDropDownMenuModel):
|
||||||
quality_changes_group_dict = self._quality_manager.getQualityChangesGroups(active_global_stack)
|
quality_changes_group_dict = self._quality_manager.getQualityChangesGroups(active_global_stack)
|
||||||
|
|
||||||
item_list = []
|
item_list = []
|
||||||
for key in sorted(quality_changes_group_dict):
|
for key in sorted(quality_changes_group_dict, key = lambda name: name.upper()):
|
||||||
quality_changes_group = quality_changes_group_dict[key]
|
quality_changes_group = quality_changes_group_dict[key]
|
||||||
|
|
||||||
item = {"name": quality_changes_group.name,
|
item = {"name": quality_changes_group.name,
|
||||||
|
|
|
@ -55,6 +55,6 @@ class GenericMaterialsModel(BaseMaterialsModel):
|
||||||
item_list.append(item)
|
item_list.append(item)
|
||||||
|
|
||||||
# Sort the item list by material name alphabetically
|
# Sort the item list by material name alphabetically
|
||||||
item_list = sorted(item_list, key = lambda d: d["name"])
|
item_list = sorted(item_list, key = lambda d: d["name"].upper())
|
||||||
|
|
||||||
self.setItems(item_list)
|
self.setItems(item_list)
|
||||||
|
|
|
@ -97,5 +97,5 @@ class MaterialManagementModel(ListModel):
|
||||||
|
|
||||||
material_list.append(item)
|
material_list.append(item)
|
||||||
|
|
||||||
material_list = sorted(material_list, key = lambda k: (k["brand"].lower(), k["name"]))
|
material_list = sorted(material_list, key = lambda k: (k["brand"].upper(), k["name"].upper()))
|
||||||
self.setItems(material_list)
|
self.setItems(material_list)
|
||||||
|
|
|
@ -45,7 +45,7 @@ class NozzleModel(ListModel):
|
||||||
return
|
return
|
||||||
|
|
||||||
item_list = []
|
item_list = []
|
||||||
for hotend_name, container_node in sorted(variant_node_dict.items(), key = lambda i: i[0]):
|
for hotend_name, container_node in sorted(variant_node_dict.items(), key = lambda i: i[0].upper()):
|
||||||
item = {"id": hotend_name,
|
item = {"id": hotend_name,
|
||||||
"hotend_name": hotend_name,
|
"hotend_name": hotend_name,
|
||||||
"container_node": container_node
|
"container_node": container_node
|
||||||
|
|
|
@ -59,7 +59,7 @@ class QualityManagementModel(ListModel):
|
||||||
"quality_changes_group": None}
|
"quality_changes_group": None}
|
||||||
item_list.append(item)
|
item_list.append(item)
|
||||||
# Sort by quality names
|
# Sort by quality names
|
||||||
item_list = sorted(item_list, key = lambda x: x["name"])
|
item_list = sorted(item_list, key = lambda x: x["name"].upper())
|
||||||
|
|
||||||
# Create quality_changes group items
|
# Create quality_changes group items
|
||||||
quality_changes_item_list = []
|
quality_changes_item_list = []
|
||||||
|
@ -74,7 +74,7 @@ class QualityManagementModel(ListModel):
|
||||||
quality_changes_item_list.append(item)
|
quality_changes_item_list.append(item)
|
||||||
|
|
||||||
# Sort quality_changes items by names and append to the item list
|
# Sort quality_changes items by names and append to the item list
|
||||||
quality_changes_item_list = sorted(quality_changes_item_list, key = lambda x: x["name"])
|
quality_changes_item_list = sorted(quality_changes_item_list, key = lambda x: x["name"].upper())
|
||||||
item_list += quality_changes_item_list
|
item_list += quality_changes_item_list
|
||||||
|
|
||||||
self.setItems(item_list)
|
self.setItems(item_list)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue