Case insensitive sorting of profiles (#3329)
* Case insensitive sorting of profiles * Update
This commit is contained in:
parent
de3416f55b
commit
f985da6f9a
|
|
@ -70,7 +70,7 @@ class DesktopProfile(Profile):
|
||||||
) for p in profile_handler.get_desktop_profiles()
|
) for p in profile_handler.get_desktop_profiles()
|
||||||
]
|
]
|
||||||
|
|
||||||
group = MenuItemGroup(items, sort_items=True)
|
group = MenuItemGroup(items, sort_items=True, sort_case_sensitive=False)
|
||||||
group.set_selected_by_value(self.current_selection)
|
group.set_selected_by_value(self.current_selection)
|
||||||
|
|
||||||
result = SelectMenu(
|
result = SelectMenu(
|
||||||
|
|
|
||||||
|
|
@ -74,13 +74,17 @@ class MenuItemGroup:
|
||||||
focus_item: MenuItem | None = None,
|
focus_item: MenuItem | None = None,
|
||||||
default_item: MenuItem | None = None,
|
default_item: MenuItem | None = None,
|
||||||
sort_items: bool = False,
|
sort_items: bool = False,
|
||||||
|
sort_case_sensitive: bool = True,
|
||||||
checkmarks: bool = False
|
checkmarks: bool = False
|
||||||
) -> None:
|
) -> None:
|
||||||
if len(menu_items) < 1:
|
if len(menu_items) < 1:
|
||||||
raise ValueError('Menu must have at least one item')
|
raise ValueError('Menu must have at least one item')
|
||||||
|
|
||||||
if sort_items:
|
if sort_items:
|
||||||
menu_items = sorted(menu_items, key=lambda x: x.text)
|
if sort_case_sensitive:
|
||||||
|
menu_items = sorted(menu_items, key=lambda x: x.text)
|
||||||
|
else:
|
||||||
|
menu_items = sorted(menu_items, key=lambda x: x.text.lower())
|
||||||
|
|
||||||
if not focus_item:
|
if not focus_item:
|
||||||
focus_item = menu_items[0]
|
focus_item = menu_items[0]
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue