[evolution] Don't hardcode a width, but compute a suitable one



commit 7245c36554efbdb90aca29840fff74661ddf540e
Author: Srinivasa Ragavan <sragavan gnome org>
Date:   Tue Mar 23 14:25:40 2010 +0530

    Don't hardcode a width, but compute a suitable one
    
    We do this by measuring a template string, which contains a sample name for an email account.
    This is what normally gets displayed in the folder tree, so such a sample string
    should give a reasonable width.
    
    Signed-off-by: Federico Mena Quintero <federico novell com>
    
    Conflicts:
    
    	modules/mail/e-mail-shell-sidebar.c

 modules/mail/e-mail-shell-sidebar.c |    9 +++++++++
 modules/mail/e-mail-shell-view.c    |   17 +----------------
 2 files changed, 10 insertions(+), 16 deletions(-)
---
diff --git a/modules/mail/e-mail-shell-sidebar.c b/modules/mail/e-mail-shell-sidebar.c
index 1b55f05..30dd9d5 100644
--- a/modules/mail/e-mail-shell-sidebar.c
+++ b/modules/mail/e-mail-shell-sidebar.c
@@ -211,6 +211,14 @@ mail_shell_sidebar_size_request (GtkWidget *widget, GtkRequisition *requisition)
 	requisition->width = MAX (requisition->width, ink_rect.width + border);
 }
 
+static void
+mail_shell_sidebar_size_allocate (GtkWidget *widget, GtkAllocation *allocation)
+{
+	GTK_WIDGET_CLASS (parent_class)->size_allocate (widget, allocation);
+	g_print ("EMailShellSidebar allocation: %dx%d\n", allocation->width, allocation->height);
+}
+
+
 static guint32
 mail_shell_sidebar_check_state (EShellSidebar *shell_sidebar)
 {
@@ -240,6 +248,7 @@ mail_shell_sidebar_class_init (EMailShellSidebarClass *class)
 
 	widget_class = GTK_WIDGET_CLASS (class);
 	widget_class->size_request = mail_shell_sidebar_size_request;
+	widget_class->size_allocate = mail_shell_sidebar_size_allocate;
 
 	shell_sidebar_class = E_SHELL_SIDEBAR_CLASS (class);
 	shell_sidebar_class->check_state = mail_shell_sidebar_check_state;
diff --git a/modules/mail/e-mail-shell-view.c b/modules/mail/e-mail-shell-view.c
index aae451c..c342985 100644
--- a/modules/mail/e-mail-shell-view.c
+++ b/modules/mail/e-mail-shell-view.c
@@ -933,21 +933,6 @@ mail_shell_view_update_actions (EShellView *shell_view)
 	e_mail_shell_view_update_popup_labels (mail_shell_view);
 }
 
-/* Vmethod implementation for EShellView::new_shell_sidebar.  We create a mail
- * folder tree for the mailer.
- */
-static GtkWidget *
-new_shell_sidebar (EShellView *shell_view)
-{
-	GtkWidget *sidebar;
-	PangoLayout *layout;
-
-	sidebar = e_mail_shell_sidebar_new (shell_view);
-	gtk_widget_set_size_request (sidebar, 300, -1);
-
-	return sidebar;
-}
-
 static void
 mail_shell_view_class_init (EMailShellViewClass *class,
                             GTypeModule *type_module)
@@ -972,7 +957,7 @@ mail_shell_view_class_init (EMailShellViewClass *class,
 	shell_view_class->search_options = "/mail-search-options";
 	shell_view_class->search_rules = "searchtypes.xml";
 	shell_view_class->new_shell_content = e_mail_shell_content_new;
-	shell_view_class->new_shell_sidebar = new_shell_sidebar;
+	shell_view_class->new_shell_sidebar = e_mail_shell_sidebar_new;
 	shell_view_class->toggled = mail_shell_view_toggled;
 	shell_view_class->execute_search = mail_shell_view_execute_search;
 	shell_view_class->update_actions = mail_shell_view_update_actions;



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