[anjal] Make it take the bare minimun reqd size



commit 638c3f04db704dba91c8c947803911d5968dc105
Author: Srinivasa Ragavan <sragavan novell com>
Date:   Thu May 21 11:58:55 2009 +0530

    Make it take the bare minimun reqd size
---
 src/mail-folder-view.c |   22 ++++++++++++++++------
 src/mail-folder-view.h |    1 +
 src/mail-view.c        |    2 +-
 3 files changed, 18 insertions(+), 7 deletions(-)

diff --git a/src/mail-folder-view.c b/src/mail-folder-view.c
index 92ca967..caa990b 100644
--- a/src/mail-folder-view.c
+++ b/src/mail-folder-view.c
@@ -54,11 +54,12 @@ struct  _MailFolderViewPrivate {
 	GList *children;
 	char *expr;
 	GtkWidget *tab_str;
+	GtkWidget *folder_pane;
 
 	CamelFolder *folder;
 	char *uid;
 	char *search;
-
+	
 	int sort_selected;
 	gboolean sort_ascending;
 	GtkWidget *view_scroller;
@@ -1099,9 +1100,11 @@ mfv_message_activated (GtkTreeView       *tree_view,  GtkTreePath       *path, G
 static void
 mfv_tree_resize (GtkWidget *w, GtkAllocation *req, GtkTreeViewColumn *col)
 {
-	/*  printf("%d %d\n", req->width, gtk_tree_view_column_get_fixed_width(col));*/
-	if (req->width != (gtk_tree_view_column_get_fixed_width(col)+24))
-		gtk_tree_view_column_set_fixed_width (col, req->width - 24);
+	MailFolderView *shell = g_object_get_data(w, "shell");
+
+	if (((req->width - (gtk_tree_view_column_get_fixed_width(col)+48) > 100) || (req->width - (gtk_tree_view_column_get_fixed_width(col)+48) < 0)) && GTK_WIDGET_VISIBLE(shell->priv->folder_pane)) {
+		gtk_tree_view_column_set_fixed_width (col, req->width - 48);
+	}
 }
 
 
@@ -1320,13 +1323,14 @@ mail_folder_view_construct (MailFolderView *shell)
 	   the first up-arrow. I takes ~2 secs to respond. I bypass it by this.*/
 	column->editable_widget = (gpointer)0xdeadbeef;
 	
-	gtk_tree_view_column_set_fixed_width (column, 720);
+	/* gtk_tree_view_column_set_fixed_width (column, 720); */
 	gtk_tree_view_column_set_sizing  (column, GTK_TREE_VIEW_COLUMN_FIXED);	
 	gtk_tree_view_column_set_title (column, _("Messages"));
 	gtk_tree_view_append_column (GTK_TREE_VIEW (shell->tree), column);
 	gtk_tree_view_column_set_resizable (column, TRUE);
 
-	//g_signal_connect (shell->tree,  "size-allocate", mfv_tree_resize, column);
+	g_object_set_data(shell->tree, "shell", shell);
+	g_signal_connect (shell->tree,  "size-allocate", mfv_tree_resize, column);
 	/* Main VBOX renderer, that shows multi line. */
 	vbox = custom_cell_renderer_vbox_new ();
 
@@ -1619,3 +1623,9 @@ mail_folder_view_set_search (MailFolderView *mfv, const char *search)
 	}
 
 }
+
+void
+mail_folder_view_set_folder_pane (MailFolderView *mfv, GtkWidget *pane)
+{
+	mfv->priv->folder_pane = pane;
+}
diff --git a/src/mail-folder-view.h b/src/mail-folder-view.h
index ecd0f39..d22a1f2 100644
--- a/src/mail-folder-view.h
+++ b/src/mail-folder-view.h
@@ -74,4 +74,5 @@ void mail_folder_view_activate (MailFolderView *mfv, GtkWidget *tree, GtkWidget
 void mail_folder_view_check_mail (MailFolderView *mfv);
 void mail_folder_view_save (MailFolderView *mfv);
 void mail_folder_view_set_search (MailFolderView *mfv, const char *search);
+void mail_folder_view_set_folder_pane (MailFolderView *mfv, GtkWidget *pane);
 #endif
diff --git a/src/mail-view.c b/src/mail-view.c
index 481cd44..cae04d9 100644
--- a/src/mail-view.c
+++ b/src/mail-view.c
@@ -254,7 +254,7 @@ mail_view_add_folder (MailView *mv)
 {
 	MailFolderView *mfv = mail_folder_view_new ();
 	gint position = 0;
-
+	mail_folder_view_set_folder_pane (mfv, mv->folder_tree);
 	mv->priv->current_view = mfv;
 	mv->priv->children = g_list_append (mv->priv->children,  mfv);
 	position = gtk_notebook_append_page (mv, mfv, mfv->tab_label);



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