aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSrinivasa Ragavan <sragavan@gnome.org>2010-03-23 16:55:40 +0800
committerSrinivasa Ragavan <sragavan@gnome.org>2010-03-23 16:55:40 +0800
commit7245c36554efbdb90aca29840fff74661ddf540e (patch)
tree618b944da666ba5975786492c45d7e6cd00a0d36
parentf644fea17fcce98a7b1c9f2f613592797c5a22c1 (diff)
downloadgsoc2013-evolution-7245c36554efbdb90aca29840fff74661ddf540e.tar
gsoc2013-evolution-7245c36554efbdb90aca29840fff74661ddf540e.tar.gz
gsoc2013-evolution-7245c36554efbdb90aca29840fff74661ddf540e.tar.bz2
gsoc2013-evolution-7245c36554efbdb90aca29840fff74661ddf540e.tar.lz
gsoc2013-evolution-7245c36554efbdb90aca29840fff74661ddf540e.tar.xz
gsoc2013-evolution-7245c36554efbdb90aca29840fff74661ddf540e.tar.zst
gsoc2013-evolution-7245c36554efbdb90aca29840fff74661ddf540e.zip
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
-rw-r--r--modules/mail/e-mail-shell-sidebar.c9
-rw-r--r--modules/mail/e-mail-shell-view.c17
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 1b55f0524f..30dd9d5e51 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 aae451c14c..c3429859f7 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;