Git-Url: http://git.frugalware.org/gitweb/gitweb.cgi?p=gservice.git;a=commitdiff;h=c41d2030e29f7d434efdac400a08660db3cee22f
commit c41d2030e29f7d434efdac400a08660db3cee22f Author: Priyank <priy...@frugalware.org> Date: Fri Jan 16 01:01:13 2009 +0530 gray-out inactive services to distinguish them from active ones diff --git a/src/gservice-backend.c b/src/gservice-backend.c index 3b0a0f7..fbe0fa8 100644 --- a/src/gservice-backend.c +++ b/src/gservice-backend.c @@ -250,14 +250,6 @@ gsvc_service_get_list (void) entry->description = gsvc_get_service_description (entry->name); gsvc_service_get_runlevel_info (entry); entry->enabled = FALSE; - /* - if (strcmp(entry->name,"single")) - { - if (gsvc_get_service_status (entry->name) == GSVC_ON) - entry->running = TRUE; - else - entry->running = FALSE; - }*/ /* search this service in the list of active services */ /* if found, set it's enabled bit */ tlist = alist; diff --git a/src/gservice-interface.c b/src/gservice-interface.c index 01eacdb..2d0fea3 100644 --- a/src/gservice-interface.c +++ b/src/gservice-interface.c @@ -67,6 +67,30 @@ gservice_get_icon (const char *icon, int size) return ret; } +/* This function renders the cells representing inactive services in grey */ +/* while the active ones are rendered in usual colors */ +void +gservice_cell_data_func (GtkTreeViewColumn *col, GtkCellRenderer *cell, + GtkTreeModel *model, GtkTreeIter *iter, + gpointer data) +{ + gboolean val = FALSE; + GdkColor color; + + gtk_tree_model_get (model, iter, 11, &val, -1); + if (!val) + { + gdk_color_parse ("gray", &color); + g_object_set (G_OBJECT(cell), "foreground-gdk", &color, NULL); + } + else + { + g_object_set (G_OBJECT(cell), "foreground-gdk", NULL, NULL); + } + + return; +} + static void gservice_setup_treeview (void) { @@ -75,7 +99,7 @@ gservice_setup_treeview (void) GtkTreeSelection *selection = NULL; GtkTreeViewColumn *column = NULL; - store = gtk_list_store_new (11, + store = gtk_list_store_new (12, GDK_TYPE_PIXBUF, /* status icon */ G_TYPE_STRING, /* service name & description */ G_TYPE_INT, /* runlevel 0 */ @@ -86,7 +110,8 @@ gservice_setup_treeview (void) G_TYPE_INT, /* runlevel 5 */ G_TYPE_INT, /* runlevel 6 */ G_TYPE_BOOLEAN, /* status */ - G_TYPE_STRING); /* service name for internal use */ + G_TYPE_STRING, /* service name for internal use */ + G_TYPE_BOOLEAN); /* activation status for internal use */ renderer = gtk_cell_renderer_pixbuf_new (); column = gtk_tree_view_column_new_with_attributes (_("Status"), @@ -109,6 +134,9 @@ gservice_setup_treeview (void) gtk_tree_view_column_set_expand (column, FALSE); gtk_tree_view_column_set_min_width (column, 30); gtk_tree_view_column_set_expand (column, TRUE); + gtk_tree_view_column_set_cell_data_func (column, renderer, + (GtkTreeCellDataFunc)gservice_cell_data_func, + NULL, NULL); gtk_tree_view_append_column (GTK_TREE_VIEW(gsvc_treeview_services), column); renderer = gtk_cell_renderer_toggle_new (); @@ -241,7 +269,7 @@ gservice_populate_services (void) char *desc = NULL; char *namedesc = NULL; desc = gsvc_glist_to_string (e->description); - namedesc = g_markup_printf_escaped ("<span size=\"x-large\"weight=\"bold\">%s</span>\n<i>%s</i>", e->name, desc); + namedesc = g_markup_printf_escaped ("<span size=\"x-large\"weight=\"bold\">%s\n</span><i>%s</i>", e->name, desc); gtk_list_store_append (GTK_LIST_STORE(store), &iter); gtk_list_store_set (store, &iter, 1, (char*)namedesc, @@ -253,6 +281,7 @@ gservice_populate_services (void) 7, e->runlevel[5], 8, e->runlevel[6], 10, (char*)e->name, + 11, (e->enabled)?TRUE:FALSE, -1); //gtk_list_store_append (store, &iter); if (e->enabled) @@ -309,7 +338,7 @@ gservice_adjust_service_buttons_from_status (int status) break; } } - + return; } _______________________________________________ Frugalware-git mailing list Frugalware-git@frugalware.org http://frugalware.org/mailman/listinfo/frugalware-git