From b95e613147c29af969e20ca87e458a700197630c Mon Sep 17 00:00:00 2001 From: Matthew Barnes Date: Thu, 15 Dec 2011 22:35:11 -0500 Subject: mail-send-recv.c: Avoid using EAccount and CamelURL if possible. EAccount is deprecated and mail URLs are being phased out. Use EMailAccountStore and CamelService instead. --- modules/mail/e-mail-shell-view-private.c | 28 ++++++++++++++++++---------- 1 file changed, 18 insertions(+), 10 deletions(-) (limited to 'modules/mail') diff --git a/modules/mail/e-mail-shell-view-private.c b/modules/mail/e-mail-shell-view-private.c index 534a2583b6..05488156a7 100644 --- a/modules/mail/e-mail-shell-view-private.c +++ b/modules/mail/e-mail-shell-view-private.c @@ -1095,6 +1095,7 @@ e_mail_shell_view_send_receive (EMailShellView *mail_shell_view, EShellView *shell_view; EShellWindow *shell_window; EShellBackend *shell_backend; + EMailBackend *backend; g_return_if_fail (mail_shell_view != NULL); @@ -1102,34 +1103,41 @@ e_mail_shell_view_send_receive (EMailShellView *mail_shell_view, shell_window = e_shell_view_get_shell_window (shell_view); shell_backend = e_shell_view_get_shell_backend (shell_view); + backend = E_MAIL_BACKEND (shell_backend); + em_utils_clear_get_password_canceled_accounts_flag (); if (!account_uid) { switch (mode) { case E_MAIL_SEND_RECEIVE_BOTH: - mail_send_receive ( - GTK_WINDOW (shell_window), - E_MAIL_BACKEND (shell_backend)); + mail_send_receive (GTK_WINDOW (shell_window), backend); break; case E_MAIL_SEND_RECEIVE_RECEIVE: - mail_receive ( - GTK_WINDOW (shell_window), - E_MAIL_BACKEND (shell_backend)); + mail_receive (GTK_WINDOW (shell_window), backend); break; case E_MAIL_SEND_RECEIVE_SEND: - mail_send (E_MAIL_BACKEND (shell_backend)); + mail_send (backend); break; } } else { /* allow only receive on individual accounts */ EAccount *account; + EMailSession *session; + CamelService *service; account = e_get_account_by_uid (account_uid); g_return_if_fail (account != NULL); - if (account->enabled && account->source != NULL) - mail_receive_account ( - E_MAIL_BACKEND (shell_backend), account); + if (!account->enabled) + return; + + session = e_mail_backend_get_session (backend); + + service = camel_session_get_service ( + CAMEL_SESSION (session), account->uid); + + if (CAMEL_IS_SERVICE (service)) + mail_receive_service (backend, service); } } -- cgit v1.2.3