aboutsummaryrefslogtreecommitdiffstats
path: root/mail/e-mail-browser.c
diff options
context:
space:
mode:
authorMatthew Barnes <mbarnes@src.gnome.org>2009-02-08 04:04:52 +0800
committerMatthew Barnes <mbarnes@src.gnome.org>2009-02-08 04:04:52 +0800
commit14e8637d6b1a98b4ed6bedc70d0fca744b7b3e0f (patch)
treeec49b42bc6e0cfb3115ca56f41106e63a0b67d85 /mail/e-mail-browser.c
parentfee5916b60c605ff5086d8fdc2a85c5ea21351f6 (diff)
downloadgsoc2013-evolution-14e8637d6b1a98b4ed6bedc70d0fca744b7b3e0f.tar.gz
gsoc2013-evolution-14e8637d6b1a98b4ed6bedc70d0fca744b7b3e0f.tar.zst
gsoc2013-evolution-14e8637d6b1a98b4ed6bedc70d0fca744b7b3e0f.zip
Rewrite the mail label code from top to bottom.
- Kill the e-util-labels API and read label information into a single-column GtkListStore. Use GConfBridge to automatically keep GConf synched with the list store. - The list store (a singleton instance) is stored in EShellSettings so it's available everywhere. - The list store serves as the model for EMailLabelTreeView, which itself is embedded in EMailLabelManager; a complete label management UI as seen in the preferences dialog. - EMailLabelDialog is used to add or edit a label. Avoid using a color button, instead embed a GtkColorSelection directly in the dialog so everything is in one window. Open issues: - The weird toggle/color/text menu items in the popup menu aren't there. For now they're just regular toggle items. I'll deal with it later. - Filter intergration is broken at the moment. svn path=/branches/kill-bonobo/; revision=37233
Diffstat (limited to 'mail/e-mail-browser.c')
-rw-r--r--mail/e-mail-browser.c24
1 files changed, 12 insertions, 12 deletions
diff --git a/mail/e-mail-browser.c b/mail/e-mail-browser.c
index 0bc40f13ab..0e4239d4a7 100644
--- a/mail/e-mail-browser.c
+++ b/mail/e-mail-browser.c
@@ -338,12 +338,22 @@ mail_browser_constructed (GObject *object)
ui_manager = priv->ui_manager;
domain = GETTEXT_PACKAGE;
- e_mail_reader_init (reader);
-
shell_module = e_mail_reader_get_shell_module (reader);
shell = e_shell_module_get_shell (shell_module);
e_shell_watch_window (shell, GTK_WINDOW (object));
+ /* The message list is a widget, but it is not shown in the browser.
+ * Unfortunately, the widget is inseparable from its model, and the
+ * model is all we need. */
+ priv->message_list = message_list_new (shell_module);
+ g_object_ref_sink (priv->message_list);
+
+ g_signal_connect_swapped (
+ priv->message_list, "message-selected",
+ G_CALLBACK (mail_browser_message_selected_cb), object);
+
+ e_mail_reader_init (reader);
+
action_group = priv->action_group;
gtk_action_group_set_translation_domain (action_group, domain);
gtk_action_group_add_actions (
@@ -560,16 +570,6 @@ mail_browser_init (EMailBrowser *browser)
browser->priv->action_group = gtk_action_group_new ("mail-browser");
browser->priv->html_display = em_format_html_display_new ();
- /* The message list is a widget, but it is not shown in the browser.
- * Unfortunately, the widget is inseparable from its model, and the
- * model is all we need. */
- browser->priv->message_list = message_list_new ();
- g_object_ref_sink (browser->priv->message_list);
-
- g_signal_connect_swapped (
- browser->priv->message_list, "message-selected",
- G_CALLBACK (mail_browser_message_selected_cb), browser);
-
bridge = gconf_bridge_get ();
prefix = "/apps/evolution/mail/mail_browser";
gconf_bridge_bind_window_size (bridge, prefix, GTK_WINDOW (browser));