aboutsummaryrefslogtreecommitdiffstats
path: root/camel/camel-disco-folder.h
diff options
context:
space:
mode:
authorDan Winship <danw@src.gnome.org>2002-05-11 00:44:36 +0800
committerDan Winship <danw@src.gnome.org>2002-05-11 00:44:36 +0800
commit6952dcb7c0821d705fad562ff5b96613b7c7b248 (patch)
tree8610ea39d3c105a615318c00145897adb5dc00cf /camel/camel-disco-folder.h
parent409f147b81748829457ee9110ccd0488ad9bfbf4 (diff)
downloadgsoc2013-evolution-6952dcb7c0821d705fad562ff5b96613b7c7b248.tar
gsoc2013-evolution-6952dcb7c0821d705fad562ff5b96613b7c7b248.tar.gz
gsoc2013-evolution-6952dcb7c0821d705fad562ff5b96613b7c7b248.tar.bz2
gsoc2013-evolution-6952dcb7c0821d705fad562ff5b96613b7c7b248.tar.lz
gsoc2013-evolution-6952dcb7c0821d705fad562ff5b96613b7c7b248.tar.xz
gsoc2013-evolution-6952dcb7c0821d705fad562ff5b96613b7c7b248.tar.zst
gsoc2013-evolution-6952dcb7c0821d705fad562ff5b96613b7c7b248.zip
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
Diffstat (limited to 'camel/camel-disco-folder.h')
-rw-r--r--camel/camel-disco-folder.h25
1 files changed, 12 insertions, 13 deletions
diff --git a/camel/camel-disco-folder.h b/camel/camel-disco-folder.h
index b35c913f5f..9f6e8e2366 100644
--- a/camel/camel-disco-folder.h
+++ b/camel/camel-disco-folder.h
@@ -70,19 +70,18 @@ typedef struct {
const CamelMessageInfo *info,
CamelException *ex);
- void (*copy_online) (CamelFolder *source, GPtrArray *uids,
- CamelFolder *destination, CamelException *ex);
- void (*copy_offline) (CamelFolder *source, GPtrArray *uids,
- CamelFolder *destination, CamelException *ex);
- void (*copy_resyncing) (CamelFolder *source, GPtrArray *uids,
- CamelFolder *destination, CamelException *ex);
-
- void (*move_online) (CamelFolder *source, GPtrArray *uids,
- CamelFolder *destination, CamelException *ex);
- void (*move_offline) (CamelFolder *source, GPtrArray *uids,
- CamelFolder *destination, CamelException *ex);
- void (*move_resyncing) (CamelFolder *source, GPtrArray *uids,
- CamelFolder *destination, CamelException *ex);
+ void (*transfer_online) (CamelFolder *source, GPtrArray *uids,
+ CamelFolder *destination,
+ gboolean delete_originals,
+ CamelException *ex);
+ void (*transfer_offline) (CamelFolder *source, GPtrArray *uids,
+ CamelFolder *destination,
+ gboolean delete_originals,
+ CamelException *ex);
+ void (*transfer_resyncing) (CamelFolder *source, GPtrArray *uids,
+ CamelFolder *destination,
+ gboolean delete_originals,
+ CamelException *ex);
void (*cache_message) (CamelDiscoFolder *disco_folder,
const char *uid, CamelException *ex);