From 366dacefa0a59c66320f65f19796eb30ad23f255 Mon Sep 17 00:00:00 2001 From: Matthew Barnes Date: Thu, 12 May 2011 15:32:33 -0400 Subject: 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... --- modules/mail/e-mail-shell-view-actions.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'modules/mail/e-mail-shell-view-actions.c') 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 -- cgit v1.2.3