From 597fac2a7cf8903600ca6f1f5f7cf263849e3987 Mon Sep 17 00:00:00 2001 From: Jens Granseuer Date: Fri, 28 Sep 2007 17:01:41 +0000 Subject: [PATCH] make theme sorting case-insensitive (bug #481224) 2007-09-28 Jens Granseuer * appearance-themes.c: (theme_store_sort_func): make theme sorting case-insensitive (bug #481224) svn path=/trunk/; revision=8140 --- capplets/appearance/ChangeLog | 5 +++++ capplets/appearance/appearance-themes.c | 13 ++++++++++--- 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/capplets/appearance/ChangeLog b/capplets/appearance/ChangeLog index fdc001d12..357f66610 100644 --- a/capplets/appearance/ChangeLog +++ b/capplets/appearance/ChangeLog @@ -1,3 +1,8 @@ +2007-09-28 Jens Granseuer + + * appearance-themes.c: (theme_store_sort_func): make theme sorting + case-insensitive (bug #481224) + 2007-09-23 Jens Granseuer * gnome-wp-item.c: (gnome_wp_item_free), (gnome_wp_item_dup): diff --git a/capplets/appearance/appearance-themes.c b/capplets/appearance/appearance-themes.c index 800709ad3..2ddcb188c 100644 --- a/capplets/appearance/appearance-themes.c +++ b/capplets/appearance/appearance-themes.c @@ -736,10 +736,17 @@ theme_store_sort_func (GtkTreeModel *model, gtk_tree_model_get (model, b, COL_NAME, &b_name, COL_LABEL, &b_label, -1); - if (!strcmp (b_name, CUSTOM_THEME_NAME)) + if (!strcmp (b_name, CUSTOM_THEME_NAME)) { rc = 1; - else - rc = strcmp (a_label, b_label); + } else { + gchar *a_case, *b_case; + + a_case = g_utf8_casefold (a_label, -1); + b_case = g_utf8_casefold (b_label, -1); + rc = g_utf8_collate (a_case, b_case); + g_free (a_case); + g_free (b_case); + } g_free (b_name); g_free (b_label);