ekiga r6070 - in trunk: . lib/engine/gui/gtk-frontend
- From: dsandras svn gnome org
- To: svn-commits-list gnome org
- Subject: ekiga r6070 - in trunk: . lib/engine/gui/gtk-frontend
- Date: Sun, 16 Mar 2008 17:44:56 +0000 (GMT)
Author: dsandras
Date: Sun Mar 16 17:44:56 2008
New Revision: 6070
URL: http://svn.gnome.org/viewvc/ekiga?rev=6070&view=rev
Log:
Various visual improvements related to the roster.
Modified:
trunk/ChangeLog
trunk/lib/engine/gui/gtk-frontend/roster-view-gtk.cpp
Modified: trunk/lib/engine/gui/gtk-frontend/roster-view-gtk.cpp
==============================================================================
--- trunk/lib/engine/gui/gtk-frontend/roster-view-gtk.cpp (original)
+++ trunk/lib/engine/gui/gtk-frontend/roster-view-gtk.cpp Sun Mar 16 17:44:56 2008
@@ -97,6 +97,7 @@
COLUMN_NAME,
COLUMN_STATUS,
COLUMN_PRESENCE,
+ COLUMN_ACTIVE,
COLUMN_NUMBER
};
@@ -129,8 +130,8 @@
/* DESCRIPTION : Called for a given renderer in order to modify properties.
- * BEHAVIOR : Expand the expander renderer if required. Change the backgrounds to
- * lightgray for Clusters, and hide the expander renderer for Presentity
+ * BEHAVIOR : Expand the expander renderer if required.
+ * Hide the expander renderer for Presentity.
* and Heap.
* PRE : /
*/
@@ -447,7 +448,7 @@
GtkCellRenderer *renderer,
GtkTreeModel *model,
GtkTreeIter *iter,
- G_GNUC_UNUSED gpointer data)
+ gpointer /*data*/)
{
GtkTreePath *path = NULL;
gint column_type;
@@ -459,11 +460,6 @@
gtk_tree_model_get (model, iter, COLUMN_TYPE, &column_type, -1);
- if (column_type == TYPE_HEAP)
- g_object_set (renderer, "cell-background", "lightgray", NULL);
- else
- g_object_set (renderer, "cell-background", NULL, NULL);
-
if (column_type == TYPE_PRESENTITY || column_type == TYPE_HEAP)
g_object_set (renderer, "visible", FALSE, NULL);
else
@@ -557,9 +553,12 @@
std::set<std::string> groups = presentity.get_groups ();
GtkTreeIter group_iter;
GtkTreeIter iter;
+ bool active = false;
roster_view_gtk_find_iter_for_heap (self, heap, &heap_iter);
+ active = presentity.get_presence () != "presence-offline";
+
for (std::set<std::string>::const_iterator group = groups.begin ();
group != groups.end ();
group++) {
@@ -573,6 +572,7 @@
COLUMN_NAME, presentity.get_name ().c_str (),
COLUMN_STATUS, presentity.get_status ().c_str (),
COLUMN_PRESENCE, presentity.get_presence ().c_str (),
+ COLUMN_ACTIVE, active ? "black" : "gray",
-1);
}
@@ -586,6 +586,7 @@
COLUMN_NAME, presentity.get_name ().c_str (),
COLUMN_STATUS, presentity.get_status ().c_str (),
COLUMN_PRESENCE, presentity.get_presence ().c_str (),
+ COLUMN_ACTIVE, active ? "black" : "gray",
-1);
}
@@ -967,7 +968,9 @@
G_TYPE_POINTER, // presentity
G_TYPE_STRING, // name
G_TYPE_STRING, // status
- G_TYPE_STRING); // presence
+ G_TYPE_STRING, // presence
+ G_TYPE_STRING); // color if active
+
self->priv->tree_view =
GTK_TREE_VIEW (gtk_tree_view_new_with_model (GTK_TREE_MODEL (self->priv->store)));
gtk_tree_view_set_headers_visible (self->priv->tree_view, FALSE);
@@ -989,13 +992,25 @@
gtk_tree_view_set_expander_column (self->priv->tree_view, col);
col = gtk_tree_view_column_new ();
+ renderer = gm_cell_renderer_expander_new ();
+ gtk_tree_view_column_pack_start (col, renderer, FALSE);
+ g_object_set (renderer,
+ "xalign", 0,
+ "xpad", 0,
+ "ypad", 0,
+ "visible", TRUE,
+ "expander-style", GTK_EXPANDER_COLLAPSED,
+ NULL);
+ gtk_tree_view_column_set_cell_data_func (col, renderer, expand_cell_data_func, NULL, NULL);
+ gtk_tree_view_append_column (self->priv->tree_view, col);
+
renderer = gtk_cell_renderer_text_new ();
gtk_tree_view_column_set_spacing (col, 0);
gtk_tree_view_column_pack_start (col, renderer, TRUE);
gtk_tree_view_column_add_attribute (col, renderer, "text", COLUMN_NAME);
gtk_tree_view_column_set_alignment (col, 0.0);
+ g_object_set (renderer, "xalign", 0.5, "ypad", 0, NULL);
g_object_set (renderer, "weight", PANGO_WEIGHT_BOLD, NULL);
- g_object_set (renderer, "cell-background", "lightgray", NULL);
gtk_tree_view_column_set_cell_data_func (col, renderer,
show_cell_data_func, GINT_TO_POINTER (TYPE_HEAP), NULL);
@@ -1008,7 +1023,7 @@
show_cell_data_func, GINT_TO_POINTER (TYPE_GROUP), NULL);
renderer = gtk_cell_renderer_pixbuf_new ();
- g_object_set (renderer, "xpad", 5, NULL);
+ g_object_set (renderer, "yalign", 0.5, "xpad", 5, NULL);
gtk_tree_view_column_pack_start (col, renderer, FALSE);
gtk_tree_view_column_add_attribute (col, renderer,
"stock-id",
@@ -1020,18 +1035,10 @@
gtk_tree_view_column_pack_start (col, renderer, FALSE);
gtk_tree_view_column_add_attribute (col, renderer, "primary-text", COLUMN_NAME);
gtk_tree_view_column_add_attribute (col, renderer, "secondary-text", COLUMN_STATUS);
+ gtk_tree_view_column_add_attribute (col, renderer, "foreground", COLUMN_ACTIVE);
gtk_tree_view_column_set_cell_data_func (col, renderer,
show_cell_data_func, GINT_TO_POINTER (TYPE_PRESENTITY), NULL);
- renderer = gm_cell_renderer_expander_new ();
- gtk_tree_view_column_pack_end (col, renderer, FALSE);
- g_object_set (renderer,
- "visible", TRUE,
- "expander-style", GTK_EXPANDER_COLLAPSED,
- NULL);
- gtk_tree_view_column_set_cell_data_func (col, renderer, expand_cell_data_func, NULL, NULL);
- gtk_tree_view_append_column (self->priv->tree_view, col);
-
/* Callback when the selection has been changed */
selection = gtk_tree_view_get_selection (self->priv->tree_view);
gtk_tree_selection_set_mode (selection, GTK_SELECTION_SINGLE);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]