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

_______________________________________________
Xfce4-commits mailing list
[email protected]
http://foo-projects.org/mailman/listinfo/xfce4-commits

Reply via email to