[Initng-svn] r3701 - initng-gui/initconf/src
svn at initng.thinktux.net
svn at initng.thinktux.net
Thu Apr 6 08:40:48 CEST 2006
Author: danne
Date: Thu Apr 6 08:40:47 2006
New Revision: 3701
Modified:
initng-gui/initconf/src/callbacks.c
initng-gui/initconf/src/ngehandler.c
initng-gui/initconf/src/serviceparser.c
Log:
Got sorting of servicelist working.
Modified: initng-gui/initconf/src/callbacks.c
==============================================================================
--- initng-gui/initconf/src/callbacks.c (original)
+++ initng-gui/initconf/src/callbacks.c Thu Apr 6 08:40:47 2006
@@ -364,7 +364,8 @@
void on_runlevel_filter_combo_changed (GtkComboBox *combobox, gpointer user_data)
{
GtkTreeView *service_list = GTK_TREE_VIEW(glade_xml_get_widget(xml, "service_list"));
- GtkTreeModelFilter *filtermodel = GTK_TREE_MODEL_FILTER(gtk_tree_view_get_model(service_list));
+ GtkTreeModelSort *sortmodel = GTK_TREE_MODEL_SORT(gtk_tree_view_get_model(service_list));
+ GtkTreeModelFilter *filtermodel = GTK_TREE_MODEL_FILTER(gtk_tree_model_sort_get_model(sortmodel));
GtkWidget *start_button = glade_xml_get_widget(xml, "start_button");
GtkWidget *stop_button = glade_xml_get_widget(xml, "stop_button");
Modified: initng-gui/initconf/src/ngehandler.c
==============================================================================
--- initng-gui/initconf/src/ngehandler.c (original)
+++ initng-gui/initconf/src/ngehandler.c Thu Apr 6 08:40:47 2006
@@ -30,7 +30,8 @@
gdk_threads_enter();
GtkTreeView *service_list = GTK_TREE_VIEW(glade_xml_get_widget(xml, "service_list"));
- GtkTreeModelFilter *filtermodel = GTK_TREE_MODEL_FILTER(gtk_tree_view_get_model(service_list));
+ GtkTreeModelSort *sortmodel = GTK_TREE_MODEL_SORT(gtk_tree_view_get_model(service_list));
+ GtkTreeModelFilter *filtermodel = GTK_TREE_MODEL_FILTER(gtk_tree_model_sort_get_model(sortmodel));
GtkTreeModel *service_model = gtk_tree_model_filter_get_model(filtermodel);
GtkTreeIter iter;
gchar *str_data;
Modified: initng-gui/initconf/src/serviceparser.c
==============================================================================
--- initng-gui/initconf/src/serviceparser.c (original)
+++ initng-gui/initconf/src/serviceparser.c Thu Apr 6 08:40:47 2006
@@ -226,6 +226,8 @@
gint ret = 0;
gchar *name1, *name2;
+ fprintf(stderr, "service_sorter check 1\n");
+
gtk_tree_model_get(model, a, sortcol, &name1, -1);
gtk_tree_model_get(model, b, sortcol, &name2, -1);
@@ -239,7 +241,7 @@
void populate_service_list() {
GtkWidget *service_list = glade_xml_get_widget(xml, "service_list");
- GtkTreeModel *servicemodel, *filtermodel;
+ GtkTreeModel *filtermodel, *sortmodel;
GtkTreeViewColumn *column;
GtkListStore *servicestore = gtk_list_store_new (5, G_TYPE_STRING, G_TYPE_STRING,
G_TYPE_STRING, G_TYPE_STRING,
@@ -277,12 +279,10 @@
gtk_tree_view_insert_column(GTK_TREE_VIEW(service_list), column, -1);
recursive_scan(BASEDIR, servicestore);
- servicemodel = GTK_TREE_MODEL(servicestore);
- filtermodel = gtk_tree_model_filter_new(servicemodel, NULL);
+ //service_list -> sortmodel -> filtermodel -> servicestore
+ filtermodel = gtk_tree_model_filter_new(GTK_TREE_MODEL(servicestore), NULL);
gtk_tree_model_filter_set_visible_func(GTK_TREE_MODEL_FILTER(filtermodel),
- (GtkTreeModelFilterVisibleFunc)service_filter,
- NULL, NULL);
- gtk_tree_view_set_model(GTK_TREE_VIEW(service_list), filtermodel);
-
- g_object_unref(servicemodel);
+ service_filter, NULL, NULL);
+ sortmodel = gtk_tree_model_sort_new_with_model(filtermodel);
+ gtk_tree_view_set_model(GTK_TREE_VIEW(service_list), sortmodel);
}
More information about the Initng-svn
mailing list