aboutsummaryrefslogtreecommitdiffstats
path: root/mail/mail-send-recv.c
diff options
context:
space:
mode:
authorSrinivasa Ragavan <sragavan@gnome.org>2012-03-29 13:58:42 +0800
committerSrinivasa Ragavan <sragavan@gnome.org>2012-03-29 14:01:09 +0800
commitafb3db076d573e52d634c7d5e2d40d8da9785941 (patch)
tree8182383e02d40758707bda324c70ab0efe1f0075 /mail/mail-send-recv.c
parentf5520742593c331b6af8c89a4b7b66ccdefb7ed4 (diff)
downloadgsoc2013-evolution-afb3db076d573e52d634c7d5e2d40d8da9785941.tar
gsoc2013-evolution-afb3db076d573e52d634c7d5e2d40d8da9785941.tar.gz
gsoc2013-evolution-afb3db076d573e52d634c7d5e2d40d8da9785941.tar.bz2
gsoc2013-evolution-afb3db076d573e52d634c7d5e2d40d8da9785941.tar.lz
gsoc2013-evolution-afb3db076d573e52d634c7d5e2d40d8da9785941.tar.xz
gsoc2013-evolution-afb3db076d573e52d634c7d5e2d40d8da9785941.tar.zst
gsoc2013-evolution-afb3db076d573e52d634c7d5e2d40d8da9785941.zip
Add ability to specify INBOX for non-storage type accounts. Email daemon
allows to store mails in individual INBOX rather than a common one.
Diffstat (limited to 'mail/mail-send-recv.c')
-rw-r--r--mail/mail-send-recv.c28
1 files changed, 18 insertions, 10 deletions
diff --git a/mail/mail-send-recv.c b/mail/mail-send-recv.c
index 9cfbb8661a..bee7e2119f 100644
--- a/mail/mail-send-recv.c
+++ b/mail/mail-send-recv.c
@@ -140,6 +140,7 @@ static CamelFolder *
const gchar *uri,
gpointer data,
GError **error);
+static void send_done (gpointer data);
static struct _send_data *send_data = NULL;
static GtkWidget *send_recv_dialog = NULL;
@@ -843,7 +844,7 @@ receive_status (CamelFilterDriver *driver,
/* when receive/send is complete */
static void
-receive_done (gpointer data)
+receive_done (int still_more, gpointer data)
{
struct _send_info *info = data;
const gchar *uid;
@@ -871,7 +872,7 @@ receive_done (gpointer data)
info->cancellable,
receive_get_folder, info,
receive_status, info,
- receive_done, info);
+ send_done, info);
return;
}
@@ -911,6 +912,11 @@ receive_done (gpointer data)
free_send_info (info);
}
+static void
+send_done (gpointer data)
+{
+ receive_done (-1, data);
+}
/* although we dont do anythign smart here yet, there is no need for this interface to
* be available to anyone else.
* This can also be used to hook into which folders are being updated, and occasionally
@@ -1061,7 +1067,7 @@ refresh_folders_exec (struct _refresh_folders_msg *m,
static void
refresh_folders_done (struct _refresh_folders_msg *m)
{
- receive_done (m->info);
+ receive_done (-1, m->info);
}
static void
@@ -1108,7 +1114,7 @@ receive_update_got_folderinfo (MailFolderCache *folder_cache,
/* do not free folder info, we will free it later */
return FALSE;
} else {
- receive_done (data);
+ receive_done (-1, data);
}
return TRUE;
@@ -1128,7 +1134,7 @@ receive_update_got_store (CamelStore *store,
folder_cache, store, info->cancellable,
receive_update_got_folderinfo, info);
} else {
- receive_done (info);
+ receive_done (-1, info);
}
}
@@ -1173,8 +1179,9 @@ send_receive (GtkWindow *parent,
case SEND_RECEIVE:
mail_fetch_mail (
CAMEL_STORE (info->service),
- info->keep_on_server,
+ info->keep_on_server, 0, -1,
E_FILTER_SOURCE_INCOMING,
+ NULL, NULL, NULL,
info->cancellable,
receive_get_folder, info,
receive_status, info,
@@ -1189,7 +1196,7 @@ send_receive (GtkWindow *parent,
info->cancellable,
receive_get_folder, info,
receive_status, info,
- receive_done, info);
+ send_done, info);
break;
case SEND_UPDATE:
receive_update_got_store (
@@ -1465,8 +1472,9 @@ mail_receive_service (CamelService *service)
case SEND_RECEIVE:
mail_fetch_mail (
CAMEL_STORE (service),
- info->keep_on_server,
+ info->keep_on_server, 0, -1,
E_FILTER_SOURCE_INCOMING,
+ NULL, NULL, NULL,
info->cancellable,
receive_get_folder, info,
receive_status, info,
@@ -1486,7 +1494,7 @@ mail_receive_service (CamelService *service)
info->cancellable,
receive_get_folder, info,
receive_status, info,
- receive_done, info);
+ send_done, info);
break;
case SEND_UPDATE:
receive_update_got_store (CAMEL_STORE (service), info);
@@ -1573,5 +1581,5 @@ mail_send (EMailSession *session)
info->cancellable,
receive_get_folder, info,
receive_status, info,
- receive_done, info);
+ send_done, info);
}