[gnome-todo] list-selectors: ignore case folding when sorting



commit b0fa73543119e6732dc2823a6799161a3c409e01
Author: Georges Basile Stavracas Neto <georges stavracas gmail com>
Date:   Fri Feb 12 02:07:10 2016 -0200

    list-selectors: ignore case folding when sorting
    
    https://bugzilla.gnome.org/show_bug.cgi?id=759877

 src/views/gtd-list-selector-grid.c |   12 +++++++++++-
 src/views/gtd-list-selector-list.c |   12 +++++++++++-
 2 files changed, 22 insertions(+), 2 deletions(-)
---
diff --git a/src/views/gtd-list-selector-grid.c b/src/views/gtd-list-selector-grid.c
index e19cfd0..af2f121 100644
--- a/src/views/gtd-list-selector-grid.c
+++ b/src/views/gtd-list-selector-grid.c
@@ -97,6 +97,8 @@ gtd_list_selector_grid_sort_func (GtdListSelectorItem *a,
   GtdProvider *p2;
   GtdTaskList *l1;
   GtdTaskList *l2;
+  gchar *name1;
+  gchar *name2;
   gint retval = 0;
 
   l1 = gtd_list_selector_item_get_list (a);
@@ -110,7 +112,15 @@ gtd_list_selector_grid_sort_func (GtdListSelectorItem *a,
   if (retval != 0)
     return retval;
 
-  return g_strcmp0 (gtd_task_list_get_name (l1), gtd_task_list_get_name (l2));
+  name1 = g_utf8_casefold (gtd_task_list_get_name (l1), -1);
+  name2 = g_utf8_casefold (gtd_task_list_get_name (l2), -1);
+
+  retval = g_strcmp0 (name1, name2);
+
+  g_free (name1);
+  g_free (name2);
+
+  return retval;
 }
 
 static gboolean
diff --git a/src/views/gtd-list-selector-list.c b/src/views/gtd-list-selector-list.c
index ea5227c..8afc367 100644
--- a/src/views/gtd-list-selector-list.c
+++ b/src/views/gtd-list-selector-list.c
@@ -128,6 +128,8 @@ sort_func (GtdListSelectorItem *a,
   GtdProvider *p2;
   GtdTaskList *l1;
   GtdTaskList *l2;
+  gchar *name1;
+  gchar *name2;
   gint retval = 0;
 
   l1 = gtd_list_selector_item_get_list (a);
@@ -141,7 +143,15 @@ sort_func (GtdListSelectorItem *a,
   if (retval != 0)
     return retval;
 
-  return g_strcmp0 (gtd_task_list_get_name (l1), gtd_task_list_get_name (l2));
+  name1 = g_utf8_casefold (gtd_task_list_get_name (l1), -1);
+  name2 = g_utf8_casefold (gtd_task_list_get_name (l2), -1);
+
+  retval = g_strcmp0 (name1, name2);
+
+  g_free (name1);
+  g_free (name2);
+
+  return retval;
 }
 
 static gboolean


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]