[anjal] Pack a toggle renderer for showing message status.



commit 8dac78f87d56b76e60e048c4e3e72c77953f8067
Author: Srinivasa Ragavan <sragavan novell com>
Date:   Fri Mar 20 08:07:19 2009 +0530

    Pack a toggle renderer for showing message status.
---
 src/mail-folder-view.c |   31 +++++++++++++++++++++++++++++--
 1 files changed, 29 insertions(+), 2 deletions(-)

diff --git a/src/mail-folder-view.c b/src/mail-folder-view.c
index 1e67738..5a90f03 100644
--- a/src/mail-folder-view.c
+++ b/src/mail-folder-view.c
@@ -593,7 +593,25 @@ draw_text (GtkTreeViewColumn *tree_column, GtkCellRenderer *cell, GtkTreeModel *
 						  }
 						  g_value_unset (&value);
 						 
-					  } 
+					  } else if (GTK_IS_CELL_RENDERER_TOGGLE(c)) {
+						   GValue v = {0,},  v1 = {0};
+						   g_value_init (&v,  G_TYPE_UINT);
+						   g_value_unset (&v);
+						   g_value_init (&v1,  G_TYPE_BOOLEAN);
+						   g_value_unset (&v1);
+
+						   /* Assume for now its only flags */
+						  if (mfv->priv->light) {
+							  gtk_tree_model_get_value (tree_model, iter, COL_FLAGS, &v);
+							  flags = g_value_get_uint (&v);
+							  gtk_cell_renderer_toggle_set_active (c, (flags & CAMEL_MESSAGE_SEEN) != 0);
+						  } else {
+							  gtk_tree_model_get_value (tree_model, iter, EMTS_COL_UNREAD, &v1);
+							  unread = g_value_get_boolean (&v1);
+							  gtk_cell_renderer_toggle_set_active (c, unread);
+						  }
+						   
+					  }
 					  i=-1;
 					  t = t->next;
 				  }
@@ -784,7 +802,7 @@ mail_folder_view_construct (MailFolderView *shell)
 	hbox = custom_cell_renderer_hbox_new ();
 	g_object_set_data (hbox, "data", GINT_TO_POINTER (-1));	
 	custom_cell_renderer_vbox_append (vbox, hbox);
-
+	
 	/* Create a renderer for FROM to be shown, */
 	cell = gtk_cell_renderer_text_new ();
 	if (shell->priv->light)
@@ -798,6 +816,15 @@ mail_folder_view_construct (MailFolderView *shell)
 	/* Pack From at the start  of the cell */
 	custom_cell_renderer_hbox_pack_start (hbox, cell, FALSE);
 
+	/* Pack a renderer for unread indication */
+	cell = gtk_cell_renderer_toggle_new ();
+	if (shell->priv->light)
+		g_object_set_data (cell, "data", GINT_TO_POINTER (COL_FLAGS));
+	else 
+		g_object_set_data (cell, "data", GINT_TO_POINTER (EMTS_COL_UNREAD));
+	/* Pack From at the start  of the cell */
+	custom_cell_renderer_hbox_pack_start (hbox, cell, FALSE);
+	
 	/* Show a box for number of mails */
 	if (!shell->priv->light) {
 		 cell = gtk_cell_renderer_text_new ();



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