From 6952dcb7c0821d705fad562ff5b96613b7c7b248 Mon Sep 17 00:00:00 2001 From: Dan Winship Date: Fri, 10 May 2002 16:44:36 +0000 Subject: Replace copy_messages_to and move_messages_to with a single function that * camel-folder.c (camel_folder_transfer_messages_to): Replace copy_messages_to and move_messages_to with a single function that just takes a "delete_originals" flag. Also, use the vtrash implementation if *either* folder is a vtrash. (transfer_messages_to): Make this use camel_operation_progress (previously move_messages_to did but copy_messages_to didn't), and freeze/thaw the folder(s) if doing multiple messages. * camel-vtrash-folder.c (vtrash_transfer_messages_to): Update for move/copy merge. Move the "move messages into vtrash" code here from mail-ops.c. Now all of the vtrash move/copy special casing is in camel instead of half of it being here and half in mail/. (This should also make it so that "Move to Trash" will work in filter rules.) * camel-vee-folder.c (vee_transfer_messages_to): Make this just return an exception, since it will only be called when trying to move/copy messages from one vfolder to another. (vee_append_message): Add this too so we get a nicer error message than the default "unimplemented" one in camel-folder.c. * camel-digest-folder.c: Replace copy_messages_to and move_messages_to with transfer_messages_to. * camel-disco-folder.c: Likewise * camel-disco-diary.c (camel_disco_diary_log, camel_disco_diary_replay): replace MOVE/COPY with TRANSFER. * providers/imap/camel-imap-folder.c (imap_transfer_offline, imap_transfer_online, imap_transfer_resyncing): Update for changes. (This ends up being a bit more complicated than it was before for now, but later disconnected operation changes should resimplify it.) * camel-filter-driver.c (camel_filter_driver_filter_message, do_copy, do_move): Use transfer_messages_to instead of copy. svn path=/trunk/; revision=16744 --- camel/camel-digest-folder.c | 22 +++++++--------------- 1 file changed, 7 insertions(+), 15 deletions(-) (limited to 'camel/camel-digest-folder.c') diff --git a/camel/camel-digest-folder.c b/camel/camel-digest-folder.c index a1f058e42d..def9b3904c 100644 --- a/camel/camel-digest-folder.c +++ b/camel/camel-digest-folder.c @@ -58,10 +58,9 @@ static CamelMimeMessage *digest_get_message (CamelFolder *folder, const gchar *u CamelException *ex); static void digest_append_message (CamelFolder *folder, CamelMimeMessage *message, const CamelMessageInfo *info, CamelException *ex); -static void digest_copy_messages_to (CamelFolder *source, GPtrArray *uids, - CamelFolder *destination, CamelException *ex); -static void digest_move_messages_to (CamelFolder *source, GPtrArray *uids, - CamelFolder *destination, CamelException *ex); +static void digest_transfer_messages_to (CamelFolder *source, GPtrArray *uids, + CamelFolder *destination, gboolean delete_originals, + CamelException *ex); static void @@ -85,8 +84,7 @@ camel_digest_folder_class_init (CamelDigestFolderClass *camel_digest_folder_clas camel_folder_class->get_message = digest_get_message; camel_folder_class->append_message = digest_append_message; - camel_folder_class->copy_messages_to = digest_copy_messages_to; - camel_folder_class->move_messages_to = digest_move_messages_to; + camel_folder_class->transfer_messages_to = digest_transfer_messages_to; } static void @@ -305,15 +303,9 @@ digest_append_message (CamelFolder *folder, CamelMimeMessage *message, } static void -digest_copy_messages_to (CamelFolder *source, GPtrArray *uids, - CamelFolder *destination, CamelException *ex) -{ - /* no-op */ -} - -static void -digest_move_messages_to (CamelFolder *source, GPtrArray *uids, - CamelFolder *destination, CamelException *ex) +digest_transfer_messages_to (CamelFolder *source, GPtrArray *uids, + CamelFolder *destination, gboolean delete_originals, + CamelException *ex) { /* no-op */ } -- cgit