[gnome-builder/wip/greeter] greeter: sort project rows



commit 1190e9766bfecc0858368378f34b1b71dffb5141
Author: Christian Hergert <christian hergert me>
Date:   Sun May 10 12:38:41 2015 -0700

    greeter: sort project rows

 src/greeter/gb-greeter-window.c |   21 +++++++++++++++++++++
 1 files changed, 21 insertions(+), 0 deletions(-)
---
diff --git a/src/greeter/gb-greeter-window.c b/src/greeter/gb-greeter-window.c
index 0712e4d..7aee981 100644
--- a/src/greeter/gb-greeter-window.c
+++ b/src/greeter/gb-greeter-window.c
@@ -90,6 +90,20 @@ gb_greeter_window__recent_projects_items_changed (GbGreeterWindow *self,
     }
 }
 
+static gint
+gb_greeter_window_sort_rows (GtkListBoxRow *row1,
+                             GtkListBoxRow *row2,
+                             gpointer       user_data)
+{
+  IdeProjectInfo *info1;
+  IdeProjectInfo *info2;
+
+  info1 = gb_greeter_project_row_get_project_info (GB_GREETER_PROJECT_ROW (row1));
+  info2 = gb_greeter_project_row_get_project_info (GB_GREETER_PROJECT_ROW (row2));
+
+  return ide_project_info_compare (info1, info2);
+}
+
 void
 gb_greeter_window_set_recent_projects (GbGreeterWindow   *self,
                                        IdeRecentProjects *recent_projects)
@@ -207,4 +221,11 @@ gb_greeter_window_init (GbGreeterWindow *self)
   gtk_list_box_set_header_func (self->my_projects_list_box,
                                 gb_gtk_list_box_row_separator_func,
                                 NULL, NULL);
+
+  gtk_list_box_set_sort_func (self->my_projects_list_box,
+                              gb_greeter_window_sort_rows,
+                              NULL, NULL);
+  gtk_list_box_set_sort_func (self->other_projects_list_box,
+                              gb_greeter_window_sort_rows,
+                              NULL, NULL);
 }


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