aboutsummaryrefslogtreecommitdiffstats
path: root/camel/camel-filter-driver.c
diff options
context:
space:
mode:
authorJeffrey Stedfast <fejj@ximian.com>2001-03-27 09:41:21 +0800
committerJeffrey Stedfast <fejj@src.gnome.org>2001-03-27 09:41:21 +0800
commitefddd51d3b67fbf48a6c190fa7ddfb0244be5ddf (patch)
treef66dfbe73b34497b294dc65663c668169a5a1e92 /camel/camel-filter-driver.c
parent7b792443de265dbc80d29011bd1c200e515463c8 (diff)
downloadgsoc2013-evolution-efddd51d3b67fbf48a6c190fa7ddfb0244be5ddf.tar
gsoc2013-evolution-efddd51d3b67fbf48a6c190fa7ddfb0244be5ddf.tar.gz
gsoc2013-evolution-efddd51d3b67fbf48a6c190fa7ddfb0244be5ddf.tar.bz2
gsoc2013-evolution-efddd51d3b67fbf48a6c190fa7ddfb0244be5ddf.tar.lz
gsoc2013-evolution-efddd51d3b67fbf48a6c190fa7ddfb0244be5ddf.tar.xz
gsoc2013-evolution-efddd51d3b67fbf48a6c190fa7ddfb0244be5ddf.tar.zst
gsoc2013-evolution-efddd51d3b67fbf48a6c190fa7ddfb0244be5ddf.zip
Use camel_vtrash_folder_new() to create the vtrash folder now.
2001-03-26 Jeffrey Stedfast <fejj@ximian.com> * camel-store.c (init_trash): Use camel_vtrash_folder_new() to create the vtrash folder now. * camel-vtrash-folder.[c,h]: New subclass of CamelVeeFolder for our vTrash folders. * camel-folder.c (camel_folder_copy_messages_to): Don't watch for vtrash folders anymore. (camel_folder_move_messages_to): Same. * camel-vee-folder.c (camel_vee_folder_class_init): Update. (vee_move_messages_to): Rewrite to use the new move API. * camel-filter-driver.c (do_copy): Updated to reflect copy_message_to changes. Create a temporary uid array and use that. (do_move): Same. (camel_filter_driver_filter_message): And again, here... * providers/imap/camel-imap-folder.c (imap_copy_messages_to): Update to the new API. (imap_move_messages_to): Same. (get_uid_set): New function to create a `set' string based on an array of UIDs for use with imap_copy_messages_to. * camel-folder.c (camel_folder_copy_messages_to): Replaces camel_folder_copy_message_to (camel_folder_move_message_to): Replaces camel_folder_move_message_to. svn path=/trunk/; revision=8960
Diffstat (limited to 'camel/camel-filter-driver.c')
-rw-r--r--camel/camel-filter-driver.c33
1 files changed, 24 insertions, 9 deletions
diff --git a/camel/camel-filter-driver.c b/camel/camel-filter-driver.c
index 261f727610..3fa703848b 100644
--- a/camel/camel-filter-driver.c
+++ b/camel/camel-filter-driver.c
@@ -371,9 +371,14 @@ do_copy (struct _ESExp *f, int argc, struct _ESExpResult **argv, CamelFilterDriv
break;
p->copied = TRUE;
- if (p->uid && p->source && camel_folder_has_summary_capability (p->source))
- camel_folder_copy_message_to (p->source, p->uid, outbox, p->ex);
- else
+ if (p->uid && p->source && camel_folder_has_summary_capability (p->source)) {
+ GPtrArray *uids;
+
+ uids = g_ptr_array_new ();
+ g_ptr_array_add (uids, (char *) p->uid);
+ camel_folder_copy_messages_to (p->source, uids, outbox, p->ex);
+ g_ptr_array_free (uids, TRUE);
+ } else
camel_folder_append_message (outbox, p->message, p->info, p->ex);
service_url = camel_service_get_url (CAMEL_SERVICE (camel_folder_get_parent_store (outbox)));
@@ -408,9 +413,14 @@ do_move (struct _ESExp *f, int argc, struct _ESExpResult **argv, CamelFilterDriv
p->copied = TRUE;
p->deleted = TRUE; /* a 'move' is a copy & delete */
- if (p->uid && p->source && camel_folder_has_summary_capability (p->source))
- camel_folder_copy_message_to (p->source, p->uid, outbox, p->ex);
- else
+ if (p->uid && p->source && camel_folder_has_summary_capability (p->source)) {
+ GPtrArray *uids;
+
+ uids = g_ptr_array_new ();
+ g_ptr_array_add (uids, (char *) p->uid);
+ camel_folder_copy_messages_to (p->source, uids, outbox, p->ex);
+ g_ptr_array_free (uids, TRUE);
+ } else
camel_folder_append_message (outbox, p->message, p->info, p->ex);
service_url = camel_service_get_url (CAMEL_SERVICE (camel_folder_get_parent_store (outbox)));
@@ -871,9 +881,14 @@ camel_filter_driver_filter_message (CamelFilterDriver *driver, CamelMimeMessage
/* copy it to the default inbox */
filtered = TRUE;
camel_filter_driver_log (driver, FILTER_LOG_ACTION, "Copy to default folder");
- if (p->uid && p->source && camel_folder_has_summary_capability (p->source))
- camel_folder_copy_message_to (p->source, p->uid, p->defaultfolder, p->ex);
- else
+ if (p->uid && p->source && camel_folder_has_summary_capability (p->source)) {
+ GPtrArray *uids;
+
+ uids = g_ptr_array_new ();
+ g_ptr_array_add (uids, (char *) p->uid);
+ camel_folder_copy_messages_to (p->source, uids, p->defaultfolder, p->ex);
+ g_ptr_array_free (uids, TRUE);
+ } else
camel_folder_append_message (p->defaultfolder, p->message, p->info, p->ex);
}