diff options
author | Matthew Barnes <mbarnes@redhat.com> | 2011-05-13 03:32:33 +0800 |
---|---|---|
committer | Matthew Barnes <mbarnes@redhat.com> | 2011-05-13 06:24:41 +0800 |
commit | 366dacefa0a59c66320f65f19796eb30ad23f255 (patch) | |
tree | b5e559fc920513222c45002a836ece4fa9c87632 /modules/mail/e-mail-shell-view-actions.c | |
parent | c082e5843416aae0002251640e2f72327fd014d0 (diff) | |
download | gsoc2013-evolution-366dacefa0a59c66320f65f19796eb30ad23f255.tar gsoc2013-evolution-366dacefa0a59c66320f65f19796eb30ad23f255.tar.gz gsoc2013-evolution-366dacefa0a59c66320f65f19796eb30ad23f255.tar.bz2 gsoc2013-evolution-366dacefa0a59c66320f65f19796eb30ad23f255.tar.lz gsoc2013-evolution-366dacefa0a59c66320f65f19796eb30ad23f255.tar.xz gsoc2013-evolution-366dacefa0a59c66320f65f19796eb30ad23f255.tar.zst gsoc2013-evolution-366dacefa0a59c66320f65f19796eb30ad23f255.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.c | 7 |
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 |