aboutsummaryrefslogtreecommitdiffstats
path: root/modules/mail/e-mail-shell-view-actions.c
diff options
context:
space:
mode:
authorMatthew Barnes <mbarnes@redhat.com>2011-05-13 03:32:33 +0800
committerRodrigo Moya <rodrigo@gnome-db.org>2011-06-30 00:42:14 +0800
commit3395074cc1ce463dc83e6ef4710b4a56e2a9fcc9 (patch)
treef5aae4b5f1afd0ca2ab07f5125a8efe3c6e39680 /modules/mail/e-mail-shell-view-actions.c
parent464bffb6211e7e9710ce7a5b9f605d237654b636 (diff)
downloadgsoc2013-evolution-3395074cc1ce463dc83e6ef4710b4a56e2a9fcc9.tar
gsoc2013-evolution-3395074cc1ce463dc83e6ef4710b4a56e2a9fcc9.tar.gz
gsoc2013-evolution-3395074cc1ce463dc83e6ef4710b4a56e2a9fcc9.tar.bz2
gsoc2013-evolution-3395074cc1ce463dc83e6ef4710b4a56e2a9fcc9.tar.lz
gsoc2013-evolution-3395074cc1ce463dc83e6ef4710b4a56e2a9fcc9.tar.xz
gsoc2013-evolution-3395074cc1ce463dc83e6ef4710b4a56e2a9fcc9.tar.zst
gsoc2013-evolution-3395074cc1ce463dc83e6ef4710b4a56e2a9fcc9.zip
Add e_mail_reader_new_activity().
Configuring and submitting an EActivity for every mail operation is getting tedious. This function helps reduce boilerplate code by: * Creating a new EActivity instance. * Installing an EAlertSink using e_mail_reader_get_alert_sink(). * Installing a GCancellable (which is really a CamelOperation). * Submitting the activity via e_shell_backend_add_activity(). I'm considering adding a similar function (or class method) for EShellView. Not sure yet...
Diffstat (limited to 'modules/mail/e-mail-shell-view-actions.c')
-rw-r--r--modules/mail/e-mail-shell-view-actions.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/modules/mail/e-mail-shell-view-actions.c b/modules/mail/e-mail-shell-view-actions.c
index d44ac6f5ad..a0a6ec2dfe 100644
--- a/modules/mail/e-mail-shell-view-actions.c
+++ b/modules/mail/e-mail-shell-view-actions.c
@@ -522,10 +522,13 @@ action_mail_folder_unsubscribe_cb (GtkAction *action,
session = e_mail_backend_get_session (backend);
activity = e_activity_new ();
- cancellable = camel_operation_new ();
+
alert_sink = E_ALERT_SINK (shell_content);
e_activity_set_alert_sink (activity, alert_sink);
+
+ cancellable = camel_operation_new ();
e_activity_set_cancellable (activity, cancellable);
+
e_shell_backend_add_activity (shell_backend, activity);
folder_uri = em_folder_tree_get_selected_uri (folder_tree);
@@ -536,6 +539,8 @@ action_mail_folder_unsubscribe_cb (GtkAction *action,
activity);
g_free (folder_uri);
+
+ g_object_unref (cancellable);
}
static void