From 9f779e01a4bf69674b7ee9e3b9329c1c55d4a3df Mon Sep 17 00:00:00 2001 From: Tom Hacohen Date: Wed, 19 Sep 2012 15:20:47 +0000 Subject: [PATCH] E keyboard: Sort the layouts by name, not code. Thanks a lot to CharlesWaldman for reminding me about this. SVN revision: 76873 --- src/modules/xkbswitch/e_mod_parse.c | 10 ++++++---- src/modules/xkbswitch/e_mod_parse.h | 1 - 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/src/modules/xkbswitch/e_mod_parse.c b/src/modules/xkbswitch/e_mod_parse.c index 23ba96367..b78c0f852 100644 --- a/src/modules/xkbswitch/e_mod_parse.c +++ b/src/modules/xkbswitch/e_mod_parse.c @@ -7,6 +7,8 @@ Eina_List *optgroups = NULL; static const char *rules_file = NULL; +static int layout_sort_cb(const void *data1, const void *data2); + void find_rules(void) { @@ -306,17 +308,17 @@ clear_rules(void) models = NULL; } -int +static int layout_sort_cb(const void *data1, const void *data2) { const E_XKB_Layout *l1, *l2; if (!(l1 = data1)) return 1; - if (!l1->name) return 1; + if (!l1->description) return 1; if (!(l2 = data2)) return -1; - if (!l2->name) return -1; + if (!l2->description) return -1; - return strcmp(l1->name, l2->name); + return strcmp(l1->description, l2->description); } int diff --git a/src/modules/xkbswitch/e_mod_parse.h b/src/modules/xkbswitch/e_mod_parse.h index 0998c781f..5057a1e9b 100644 --- a/src/modules/xkbswitch/e_mod_parse.h +++ b/src/modules/xkbswitch/e_mod_parse.h @@ -42,7 +42,6 @@ int parse_rules(void); void clear_rules(void); void find_rules(void); -int layout_sort_cb (const void *data1, const void *data2); int layout_sort_by_name_cb(const void *data1, const void *data2); extern Eina_List *models;