diff options
author | Matthew Barnes <mbarnes@redhat.com> | 2011-12-16 11:35:11 +0800 |
---|---|---|
committer | Matthew Barnes <mbarnes@redhat.com> | 2011-12-16 23:57:57 +0800 |
commit | b95e613147c29af969e20ca87e458a700197630c (patch) | |
tree | d446f95e5f1b8755faed86c1965660dc9845cdba /modules | |
parent | b888e98c8670da0f0e8eeeadc2372194602c9138 (diff) | |
download | gsoc2013-evolution-b95e613147c29af969e20ca87e458a700197630c.tar.gz gsoc2013-evolution-b95e613147c29af969e20ca87e458a700197630c.tar.zst gsoc2013-evolution-b95e613147c29af969e20ca87e458a700197630c.zip |
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.
Diffstat (limited to 'modules')
-rw-r--r-- | modules/mail/e-mail-shell-view-private.c | 28 |
1 files changed, 18 insertions, 10 deletions
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); } } |