aboutsummaryrefslogtreecommitdiffstats
path: root/modules/mail/e-mail-shell-view-private.c
diff options
context:
space:
mode:
Diffstat (limited to 'modules/mail/e-mail-shell-view-private.c')
-rw-r--r--modules/mail/e-mail-shell-view-private.c46
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);
}