Git-Url: 
http://git.frugalware.org/gitweb/gitweb.cgi?p=gservice.git;a=commitdiff;h=689e46a7f0c586538d3df9fd71b1c7c01c517ddf

commit 689e46a7f0c586538d3df9fd71b1c7c01c517ddf
Author: Priyank <[email protected]>
Date:   Tue Dec 30 00:22:09 2008 +0530

gservice.c: Display the service name and service desc in a single column.

diff --git a/src/gservice-interface.c b/src/gservice-interface.c
index c686359..f012130 100644
--- a/src/gservice-interface.c
+++ b/src/gservice-interface.c
@@ -72,9 +72,9 @@ gservice_setup_treeview (void)
GtkTreeSelection        *selection = NULL;
GtkTreeViewColumn       *column = NULL;

-       store = gtk_list_store_new (11,
+       store = gtk_list_store_new (10,
GDK_TYPE_PIXBUF,        /* status icon */
-                               G_TYPE_STRING,          /* service name */
+                               G_TYPE_STRING,          /* service name & 
description */
G_TYPE_INT,             /* runlevel 0 */
G_TYPE_INT,             /* runlevel 1 */
G_TYPE_INT,             /* runlevel 2 */
@@ -82,7 +82,6 @@ gservice_setup_treeview (void)
G_TYPE_INT,             /* runlevel 4 */
G_TYPE_INT,             /* runlevel 5 */
G_TYPE_INT,             /* runlevel 6 */
-                               G_TYPE_STRING,          /* description */
G_TYPE_BOOLEAN);        /* status */

renderer = gtk_cell_renderer_pixbuf_new ();
@@ -94,14 +93,18 @@ gservice_setup_treeview (void)
gtk_tree_view_append_column (GTK_TREE_VIEW(gsvc_treeview_services), column);

renderer = gtk_cell_renderer_text_new ();
-       g_object_set (G_OBJECT(renderer), "size", 12000, "weight", 
PANGO_WEIGHT_BOLD, NULL);
+       //g_object_set (G_OBJECT(renderer), "size", 12000, "weight", 
PANGO_WEIGHT_BOLD, NULL);
+       g_object_set (G_OBJECT(renderer), "wrap-mode", PANGO_WRAP_CHAR, NULL);
+       g_object_set (G_OBJECT(renderer), "wrap-width", 300, NULL);
+       gtk_cell_renderer_text_set_fixed_height_from_font (renderer, 5);
column = gtk_tree_view_column_new_with_attributes (_("Service"),
renderer,
-                                                       "text", 1,
+                                                       "markup", 1,
NULL);
gtk_tree_view_column_set_resizable (column, FALSE);
gtk_tree_view_column_set_expand (column, FALSE);
-       gtk_tree_view_column_set_min_width (column, 50);
+       gtk_tree_view_column_set_min_width (column, 30);
+       gtk_tree_view_column_set_expand (column, TRUE);
gtk_tree_view_append_column (GTK_TREE_VIEW(gsvc_treeview_services), column);

renderer = gtk_cell_renderer_toggle_new ();
@@ -172,12 +175,13 @@ gservice_setup_treeview (void)
"active", 8,
NULL);
gtk_tree_view_column_set_resizable (column, FALSE);
+       gtk_tree_view_column_set_expand (column, FALSE);
gtk_tree_view_append_column (GTK_TREE_VIEW(gsvc_treeview_services), column);

gtk_tree_view_set_model (GTK_TREE_VIEW(gsvc_treeview_services), 
GTK_TREE_MODEL(store));
selection = gtk_tree_view_get_selection (GTK_TREE_VIEW(gsvc_treeview_services));
g_signal_connect (selection, "changed", G_CALLBACK(cb_gsvc_service_selected), 
NULL);
-
+       /*
renderer = gtk_cell_renderer_text_new ();
g_object_set (G_OBJECT(renderer), "wrap-mode", PANGO_WRAP_WORD, "wrap-width", 
250, NULL);
column = gtk_tree_view_column_new_with_attributes (_("Description"),
@@ -186,8 +190,9 @@ gservice_setup_treeview (void)
NULL);
gtk_tree_view_column_set_resizable (column, FALSE);
gtk_tree_view_column_set_expand (column, TRUE);
-       gtk_tree_view_append_column (GTK_TREE_VIEW(gsvc_treeview_services), 
column);

+       gtk_tree_view_append_column (GTK_TREE_VIEW(gsvc_treeview_services), 
column);
+       */
return;
}

@@ -197,7 +202,8 @@ gservice_populate_services (void)
GList           *temp = NULL;
GtkListStore    *store = NULL;
GtkTreeIter     iter;
-       GdkPixbuf       *pixbuf_active = NULL;
+       GdkPixbuf       *pixbuf_on = NULL;
+       GdkPixbuf       *pixbuf_off = NULL;
GdkPixbuf       *pixbuf_inactive = NULL;

/* if a list already exists, free it */
@@ -216,8 +222,9 @@ gservice_populate_services (void)
}

/* get the status icons */
-       pixbuf_active = gservice_get_icon ("gservice-running", 16);
-       pixbuf_inactive = gservice_get_icon ("gservice-stopped", 16);
+       pixbuf_on = gservice_get_icon ("gservice-running", 16);
+       pixbuf_off = gservice_get_icon ("gservice-stopped", 16);
+       pixbuf_inactive = gservice_get_icon ("gservice-inactive", 16);
/* get the treeview store */
store = 
GTK_LIST_STORE(gtk_tree_view_get_model(GTK_TREE_VIEW(gsvc_treeview_services)));
gtk_list_store_clear (store);
@@ -228,11 +235,12 @@ gservice_populate_services (void)
{
gservice_entry_t *e = temp->data;
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);
gtk_list_store_append (GTK_LIST_STORE(store), &iter);
gtk_list_store_set (store, &iter,
-                                       0, e->enabled ? 
pixbuf_active:pixbuf_inactive,
-                                       1, (char*)e->name,
+                                       1, (char*)namedesc,
2, e->runlevel[0],
3, e->runlevel[1],
4, e->runlevel[2],
@@ -240,12 +248,28 @@ gservice_populate_services (void)
6, e->runlevel[4],
7, e->runlevel[5],
8, e->runlevel[6],
-                                       9, desc,
-1);
+               //gtk_list_store_append (store, &iter);
+               if (e->enabled)
+               {
+                       //if (e->running)
+                               gtk_list_store_set (store, &iter, 0, pixbuf_on);
+                       //else
+                       //      gtk_list_store_set (store, &iter, 0, 
pixbuf_off);
+               }
+               else
+               {
+                       gtk_list_store_set (store, &iter, 0, pixbuf_off);
+               }
g_free (desc);
temp = g_list_next (temp);
}
gtk_tree_view_set_model (GTK_TREE_VIEW(gsvc_treeview_services), 
GTK_TREE_MODEL(store));
+       //g_object_unref (pixbuf_on);
+       //g_object_unref (pixbuf_off);
+       //g_object_unref (pixbuf_inactive);
+
+       return;
}

void
@@ -334,6 +358,7 @@ cb_gsvc_service_selected (GtkTreeSelection *selection, 
gpointer data)
list = g_list_next (list);
}
/* enable/disable the 'start' and 'stop' buttons depending on status */
+               /*
switch (gsvc_get_service_status(entry->name))
{
case GSVC_ON:
@@ -349,6 +374,7 @@ cb_gsvc_service_selected (GtkTreeSelection *selection, 
gpointer data)
gtk_widget_set_sensitive (gsvc_button_stop, TRUE);
break;
}
+               */
/* enable/disable the 'activate' and 'deactivate' buttons depending on status */
if (entry->enabled)
{
_______________________________________________
Frugalware-git mailing list
[email protected]
http://frugalware.org/mailman/listinfo/frugalware-git

Reply via email to