projects
/
geeqie.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
0ff5c85
)
Plugins sort order
author
Colin Clark
<colin.clark@cclark.uk>
Sat, 5 Sep 2020 12:58:49 +0000
(13:58 +0100)
committer
Colin Clark
<colin.clark@cclark.uk>
Sat, 5 Sep 2020 12:58:49 +0000
(13:58 +0100)
Use caseless and natural sort order when displaying the plugins menu.
src/editors.c
patch
|
blob
|
history
diff --git
a/src/editors.c
b/src/editors.c
index
192a0df
..
2d3fc35
100644
(file)
--- a/
src/editors.c
+++ b/
src/editors.c
@@
-501,12
+501,27
@@
static gint editor_sort(gconstpointer a, gconstpointer b)
{
const EditorDescription *ea = a;
const EditorDescription *eb = b;
{
const EditorDescription *ea = a;
const EditorDescription *eb = b;
+ gchar *caseless_name_ea;
+ gchar *caseless_name_eb;
+ gchar *collate_key_ea;
+ gchar *collate_key_eb;
gint ret;
ret = strcmp(ea->menu_path, eb->menu_path);
if (ret != 0) return ret;
gint ret;
ret = strcmp(ea->menu_path, eb->menu_path);
if (ret != 0) return ret;
- return g_utf8_collate(ea->name, eb->name);
+ caseless_name_ea = g_utf8_casefold(ea->name, -1);
+ caseless_name_eb = g_utf8_casefold(eb->name, -1);
+ collate_key_ea = g_utf8_collate_key_for_filename(caseless_name_ea, -1);
+ collate_key_eb = g_utf8_collate_key_for_filename(caseless_name_eb, -1);
+ ret = g_strcmp0(collate_key_ea, collate_key_eb);
+
+ g_free(collate_key_ea);
+ g_free(collate_key_eb);
+ g_free(caseless_name_ea);
+ g_free(caseless_name_eb);
+
+ return ret;
}
GList *editor_list_get(void)
}
GList *editor_list_get(void)