From 5310e4a0b10ded4c77ce9dfaff49d3e99e327462 Mon Sep 17 00:00:00 2001 From: Matthew Barnes Date: Tue, 14 Sep 2010 23:16:38 -0400 Subject: Adapt to CamelOperation API changes. --- mail/mail-send-recv.c | 37 ++++++++++++++++++++----------------- 1 file changed, 20 insertions(+), 17 deletions(-) (limited to 'mail/mail-send-recv.c') diff --git a/mail/mail-send-recv.c b/mail/mail-send-recv.c index 4d84fd0284..c7d1b3c0b4 100644 --- a/mail/mail-send-recv.c +++ b/mail/mail-send-recv.c @@ -146,7 +146,7 @@ free_send_info (struct _send_info *info) { g_free (info->uri); if (info->cancel) - camel_operation_unref (info->cancel); + g_object_unref (info->cancel); if (info->timeout_id != 0) g_source_remove (info->timeout_id); g_free (info->what); @@ -325,20 +325,11 @@ set_send_account (struct _send_info *info, const gchar *account_url) /* for camel operation status */ static void -operation_status (CamelOperation *op, const gchar *what, gint pc, gpointer data) +operation_status (CamelOperation *op, + const gchar *what, + gint pc, + struct _send_info *info) { - struct _send_info *info = data; - - /*printf("Operation '%s', percent %d\n");*/ - switch (pc) { - case CAMEL_OPERATION_START: - pc = 0; - break; - case CAMEL_OPERATION_END: - pc = 100; - break; - } - set_send_status (info, what, pc); } @@ -538,10 +529,14 @@ build_dialog (GtkWindow *parent, info->uri = g_strdup (source->url); info->keep_on_server = source->keep_on_server; - info->cancel = camel_operation_new (operation_status, info); + info->cancel = camel_operation_new (); info->state = SEND_ACTIVE; info->timeout_id = g_timeout_add (STATUS_TIMEOUT, operation_status_timeout, info); + g_signal_connect ( + info->cancel, "status", + G_CALLBACK (operation_status), info); + g_hash_table_insert (data->active, info->uri, info); list = g_list_prepend (list, info); } else if (info->progress_bar != NULL) { @@ -624,10 +619,14 @@ build_dialog (GtkWindow *parent, info->uri = g_strdup (destination); info->keep_on_server = FALSE; - info->cancel = camel_operation_new (operation_status, info); + info->cancel = camel_operation_new (); info->state = SEND_ACTIVE; info->timeout_id = g_timeout_add (STATUS_TIMEOUT, operation_status_timeout, info); + g_signal_connect ( + info->cancel, "status", + G_CALLBACK (operation_status), info); + g_hash_table_insert (data->active, (gpointer) SEND_URI_KEY, info); list = g_list_prepend (list, info); } else if (info->timeout_id == 0) @@ -1240,12 +1239,16 @@ mail_receive_uri (const gchar *uri, gboolean keep_on_server) info->status_label = NULL; info->uri = g_strdup (uri); info->keep_on_server = keep_on_server; - info->cancel = camel_operation_new (operation_status, info); + info->cancel = camel_operation_new (); info->cancel_button = NULL; info->data = data; info->state = SEND_ACTIVE; info->timeout_id = 0; + g_signal_connect ( + info->cancel, "status", + G_CALLBACK (operation_status), info); + d(printf("Adding new info %p\n", info)); g_hash_table_insert (data->active, info->uri, info); -- cgit