aboutsummaryrefslogtreecommitdiffstats
path: root/composer/e-composer-actions.c
diff options
context:
space:
mode:
authorMatthew Barnes <mbarnes@redhat.com>2010-10-31 08:56:51 +0800
committerRodrigo Moya <rodrigo@gnome-db.org>2010-11-10 06:33:19 +0800
commitf544e10b71f0c80ee0cf8eb2edde0620fd7f4e70 (patch)
treece9ae3ff4410ce575a8f7c8717159380126db014 /composer/e-composer-actions.c
parent7b7d920a755ebf8fc54cf5bf26c287b480f019ed (diff)
downloadgsoc2013-evolution-f544e10b71f0c80ee0cf8eb2edde0620fd7f4e70.tar
gsoc2013-evolution-f544e10b71f0c80ee0cf8eb2edde0620fd7f4e70.tar.gz
gsoc2013-evolution-f544e10b71f0c80ee0cf8eb2edde0620fd7f4e70.tar.bz2
gsoc2013-evolution-f544e10b71f0c80ee0cf8eb2edde0620fd7f4e70.tar.lz
gsoc2013-evolution-f544e10b71f0c80ee0cf8eb2edde0620fd7f4e70.tar.xz
gsoc2013-evolution-f544e10b71f0c80ee0cf8eb2edde0620fd7f4e70.tar.zst
gsoc2013-evolution-f544e10b71f0c80ee0cf8eb2edde0620fd7f4e70.zip
Skip writing to Outbox when sending.
When sending a message from a composer window, it seems pointless to write message to Outbox only to immediately read it back and mark it for deletion. Instead, bypass the Outbox folder when sending, and if an error occurs, offer to save the message to Outbox instead.
Diffstat (limited to 'composer/e-composer-actions.c')
-rw-r--r--composer/e-composer-actions.c18
1 files changed, 16 insertions, 2 deletions
diff --git a/composer/e-composer-actions.c b/composer/e-composer-actions.c
index b47b60241a..5e57e6df2f 100644
--- a/composer/e-composer-actions.c
+++ b/composer/e-composer-actions.c
@@ -193,14 +193,28 @@ static void
action_save_draft_cb (GtkAction *action,
EMsgComposer *composer)
{
- e_msg_composer_save_draft (composer);
+ e_msg_composer_save_to_drafts (composer);
}
static void
action_send_cb (GtkAction *action,
EMsgComposer *composer)
{
- e_msg_composer_send (composer);
+ CamelSession *session;
+
+ session = e_msg_composer_get_session (composer);
+
+ /* If we're online, send the message now.
+ * Otherwise write the message to Outbox. */
+ if (camel_session_get_online (session))
+ e_msg_composer_send (composer);
+ else {
+ /* Inform the user. */
+ e_alert_run_dialog_for_args (
+ GTK_WINDOW (composer),
+ "mail-composer:saving-to-outbox", NULL);
+ e_msg_composer_save_to_outbox (composer);
+ }
}
static void