[anjal] Add code support for a sleeker message list.



commit 5ac8bfeb04a50eeaf5098ee8d7e669fa5911817c
Author: Srinivasa Ragavan <sragavan novell com>
Date:   Mon Aug 17 11:19:43 2009 +0530

    Add code support for a sleeker message list.

 src/mail-folder-view.c |   26 +++++++++++++++++---------
 1 files changed, 17 insertions(+), 9 deletions(-)
---
diff --git a/src/mail-folder-view.c b/src/mail-folder-view.c
index d61318b..e90c7e8 100644
--- a/src/mail-folder-view.c
+++ b/src/mail-folder-view.c
@@ -55,7 +55,8 @@ struct  _MailFolderViewPrivate {
 	guint light:1;
 	guint show_thread:1;
 	guint show_children:1;
-	 guint message_shown:1;
+	guint message_shown:1;
+	guint show_preview:1;
 	GtkWidget *box;
 	GList *children;
 	char *expr;
@@ -254,6 +255,7 @@ mail_folder_view_init (MailFolderView  *shell)
 	shell->priv = g_new0(MailFolderViewPrivate, 1);
 	shell->priv->message_shown = 0;
 	shell->priv->light = g_getenv("ANJAL_LITE") != NULL; /*Very light mode, to be used in mobile phone and not netbooks. This need good implementation also. */
+	shell->priv->show_preview = 1;
 	shell->priv->show_thread = g_getenv("ANJAL_THREAD") != NULL; 
 	shell->priv->show_children = g_getenv("ANJAL_CHILDREN") != NULL;
 	shell->priv->folder = NULL;
@@ -1613,8 +1615,10 @@ mail_folder_view_construct (MailFolderView *shell)
 	gtk_tree_view_column_set_cell_data_func (column, vbox, (GtkTreeCellDataFunc)draw_flags, shell, NULL);
 
 	/* dummy renderers for nice packing */
-	cell = custom_cell_renderer_toggle_pixbuf_new (gdk_pixbuf_new_from_xpm_data ((const char **) empty_xpm), gdk_pixbuf_new_from_xpm_data ((const char **) empty_xpm));	
-	custom_cell_renderer_vbox_append (vbox, cell);
+	if (!shell->priv->light && shell->priv->show_preview) {
+		cell = custom_cell_renderer_toggle_pixbuf_new (gdk_pixbuf_new_from_xpm_data ((const char **) empty_xpm), gdk_pixbuf_new_from_xpm_data ((const char **) empty_xpm));	
+		custom_cell_renderer_vbox_append (vbox, cell);
+	}
 
 	/* Pack a renderer for unread indication */
 	cell = custom_cell_renderer_toggle_pixbuf_new (mail_utils_get_icon("anjal-mail-new",GTK_ICON_SIZE_MENU), mail_utils_get_icon("anjal-mail-new",GTK_ICON_SIZE_MENU));
@@ -1629,8 +1633,10 @@ mail_folder_view_construct (MailFolderView *shell)
 	g_object_set_data ((GObject *)cell, "mfv", shell);
 
 	/* dummy renderers for nice packing */
-	cell = custom_cell_renderer_toggle_pixbuf_new (gdk_pixbuf_new_from_xpm_data ((const char **) empty_xpm), gdk_pixbuf_new_from_xpm_data ((const char **) empty_xpm));	
-	custom_cell_renderer_vbox_append (vbox, cell);
+	if (!shell->priv->light && shell->priv->show_preview) {
+		cell = custom_cell_renderer_toggle_pixbuf_new (gdk_pixbuf_new_from_xpm_data ((const char **) empty_xpm), gdk_pixbuf_new_from_xpm_data ((const char **) empty_xpm));	
+		custom_cell_renderer_vbox_append (vbox, cell);
+	}
 	
 	/* Create the single column */
 	column = gtk_tree_view_column_new ();
@@ -1737,7 +1743,7 @@ mail_folder_view_construct (MailFolderView *shell)
 	/* Append, subject to second row. */
 	custom_cell_renderer_vbox_append (vbox, cell);
 	
-	if (!shell->priv->light) {
+	if (!shell->priv->light && shell->priv->show_preview) {
 		/* Incase of non-light or non mobile mode,  */
 	//	hbox  = custom_cell_renderer_hbox_new ();
 	//	g_object_set_data (hbox, "data", GINT_TO_POINTER (-1));	
@@ -1767,9 +1773,11 @@ mail_folder_view_construct (MailFolderView *shell)
 	vbox = custom_cell_renderer_vbox_new ();
 	g_object_set_data ((GObject *)vbox, "mfv", shell);
 	g_object_set ((GObject *)vbox, "mode", GTK_CELL_RENDERER_MODE_ACTIVATABLE, NULL);
-	gtk_tree_view_column_pack_end (column, vbox, FALSE);
+	if (shell->priv->show_preview)
+		gtk_tree_view_column_pack_end (column, vbox, FALSE);
 	g_object_set_data ((GObject * )column, "widget", shell);
-	gtk_tree_view_column_set_cell_data_func (column, vbox, (GtkTreeCellDataFunc)draw_img, NULL, NULL);
+	if (shell->priv->show_preview)
+		gtk_tree_view_column_set_cell_data_func (column, vbox, (GtkTreeCellDataFunc)draw_img, NULL, NULL);
 
 	
 	/* Cell rendere for Delete */
@@ -1783,7 +1791,7 @@ mail_folder_view_construct (MailFolderView *shell)
 	
 
 	/* Empty image */
-	if (!shell->priv->light) {
+	if (!shell->priv->light && shell->priv->show_preview) {
 		cell =   gtk_cell_renderer_pixbuf_new ();
 		custom_cell_renderer_vbox_append (vbox, cell);
 		g_object_set_data ((GObject *)cell, "data", NULL);



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