[Xfce4-commits] r27086 - xfce4-settings/trunk/xfce4-settings-manager

Brian Tarricone kelnos at xfce.org
Thu Jun 19 10:18:09 CEST 2008


Author: kelnos
Date: 2008-06-19 08:18:09 +0000 (Thu, 19 Jun 2008)
New Revision: 27086

Modified:
   xfce4-settings/trunk/xfce4-settings-manager/xfce-settings-manager-dialog.c
Log:
sort icons in view


Modified: xfce4-settings/trunk/xfce4-settings-manager/xfce-settings-manager-dialog.c
===================================================================
--- xfce4-settings/trunk/xfce4-settings-manager/xfce-settings-manager-dialog.c	2008-06-19 08:17:54 UTC (rev 27085)
+++ xfce4-settings/trunk/xfce4-settings-manager/xfce-settings-manager-dialog.c	2008-06-19 08:18:09 UTC (rev 27086)
@@ -146,6 +146,33 @@
 
 
 
+static gint
+xfce_settings_manager_dialog_sort_icons(GtkTreeModel *model,
+                                        GtkTreeIter *a,
+                                        GtkTreeIter *b,
+                                        gpointer user_data)
+{
+    gchar *namea = NULL, *nameb = NULL;
+    gint ret;
+
+    gtk_tree_model_get(model, a, COL_NAME, &namea, -1);
+    gtk_tree_model_get(model, b, COL_NAME, &nameb, -1);
+
+    if(!namea && !nameb)
+        ret = 0;
+    else if(!namea)
+        ret = -1;
+    else if(!nameb)
+        ret = 1;
+    else
+        ret = g_utf8_collate(namea, nameb);
+
+    g_free(namea);
+    g_free(nameb);
+
+    return ret;
+}
+
 static void
 xfce_settings_manager_dialog_create_liststore(XfceSettingsManagerDialog *dialog)
 {
@@ -241,6 +268,12 @@
     }
 
     g_strfreev(dirs);
+
+    gtk_tree_sortable_set_sort_func(GTK_TREE_SORTABLE(dialog->ls), COL_NAME,
+                                    xfce_settings_manager_dialog_sort_icons,
+                                    dialog, NULL);
+    gtk_tree_sortable_set_sort_column_id(GTK_TREE_SORTABLE(dialog->ls),
+                                         COL_NAME, GTK_SORT_ASCENDING);
 }
 
 static void



More information about the Xfce4-commits mailing list