diff options
Diffstat (limited to 'modules/mail/e-mail-shell-view-private.c')
-rw-r--r-- | modules/mail/e-mail-shell-view-private.c | 46 |
1 files changed, 17 insertions, 29 deletions
diff --git a/modules/mail/e-mail-shell-view-private.c b/modules/mail/e-mail-shell-view-private.c index 2cc46da1b7..8a45c4b853 100644 --- a/modules/mail/e-mail-shell-view-private.c +++ b/modules/mail/e-mail-shell-view-private.c @@ -257,19 +257,6 @@ mail_shell_view_reader_changed_cb (EMailShellView *mail_shell_view, } static void -mail_shell_view_reader_status_message_cb (EMailShellView *mail_shell_view, - const gchar *status_message) -{ - EShellView *shell_view; - EShellTaskbar *shell_taskbar; - - shell_view = E_SHELL_VIEW (mail_shell_view); - shell_taskbar = e_shell_view_get_shell_taskbar (shell_view); - - e_shell_taskbar_set_message (shell_taskbar, status_message); -} - -static void mail_shell_view_scroll_cb (EMailShellView *mail_shell_view, GtkOrientation orientation, GtkScrollType scroll_type, @@ -426,6 +413,7 @@ e_mail_shell_view_private_constructed (EMailShellView *mail_shell_view) EShellContent *shell_content; EShellSettings *shell_settings; EShellSidebar *shell_sidebar; + EShellTaskbar *shell_taskbar; EShellWindow *shell_window; EShellSearchbar *searchbar; EMFormatHTMLDisplay *html_display; @@ -447,6 +435,7 @@ e_mail_shell_view_private_constructed (EMailShellView *mail_shell_view) shell_backend = e_shell_view_get_shell_backend (shell_view); shell_content = e_shell_view_get_shell_content (shell_view); shell_sidebar = e_shell_view_get_shell_sidebar (shell_view); + shell_taskbar = e_shell_view_get_shell_taskbar (shell_view); shell_window = e_shell_view_get_shell_window (shell_view); ui_manager = e_shell_window_get_ui_manager (shell_window); @@ -574,8 +563,8 @@ e_mail_shell_view_private_constructed (EMailShellView *mail_shell_view) g_signal_connect_swapped ( web_view, "status-message", - G_CALLBACK (mail_shell_view_reader_status_message_cb), - mail_shell_view); + G_CALLBACK (e_shell_taskbar_set_message), + shell_taskbar); /* Need to keep the handler ID so we can disconnect it in * dispose(). The shell outlives us and we don't want it @@ -636,12 +625,12 @@ e_mail_shell_view_private_dispose (EMailShellView *mail_shell_view) DISPOSE (priv->search_rules[ii]); if (priv->search_account_all != NULL) { - camel_object_unref (priv->search_account_all); + g_object_unref (priv->search_account_all); priv->search_account_all = NULL; } if (priv->search_account_current != NULL) { - camel_object_unref (priv->search_account_current); + g_object_unref (priv->search_account_current); priv->search_account_current = NULL; } @@ -832,12 +821,13 @@ e_mail_shell_view_update_sidebar (EMailShellView *mail_shell_view) EShellView *shell_view; EMailReader *reader; CamelStore *local_store; + CamelStore *parent_store; CamelFolder *folder; GPtrArray *uids; GString *buffer; const gchar *display_name; + const gchar *folder_name; const gchar *folder_uri; - gchar *folder_name; gchar *title; guint32 num_deleted; guint32 num_junked; @@ -874,15 +864,14 @@ e_mail_shell_view_update_sidebar (EMailShellView *mail_shell_view) return; } - camel_object_get ( - folder, NULL, - CAMEL_FOLDER_NAME, &folder_name, - CAMEL_FOLDER_DELETED, &num_deleted, - CAMEL_FOLDER_JUNKED, &num_junked, - CAMEL_FOLDER_JUNKED_NOT_DELETED, &num_junked_not_deleted, - CAMEL_FOLDER_UNREAD, &num_unread, - CAMEL_FOLDER_VISIBLE, &num_visible, - NULL); + folder_name = camel_folder_get_name (folder); + parent_store = camel_folder_get_parent_store (folder); + + num_deleted = folder->summary->deleted_count; + num_junked = folder->summary->junk_count; + num_junked_not_deleted = folder->summary->junk_not_deleted_count; + num_unread = folder->summary->unread_count; + num_visible = folder->summary->visible_count; buffer = g_string_sized_new (256); uids = e_mail_reader_get_selected_uids (reader); @@ -953,7 +942,7 @@ e_mail_shell_view_update_sidebar (EMailShellView *mail_shell_view) em_utils_uids_free (uids); /* Choose a suitable folder name for displaying. */ - if (folder->parent_store == local_store && ( + if (parent_store == local_store && ( strcmp (folder_name, "Drafts") == 0 || strcmp (folder_name, "Inbox") == 0 || strcmp (folder_name, "Outbox") == 0 || @@ -970,6 +959,5 @@ e_mail_shell_view_update_sidebar (EMailShellView *mail_shell_view) e_shell_view_set_title (shell_view, title); g_free (title); - camel_object_free (folder, CAMEL_FOLDER_NAME, folder_name); g_string_free (buffer, TRUE); } |