Simplify. Use transfer_messages_to instead of picking between copy and

* mail-ops.c (transfer_messages_transfer): Simplify. Use
	transfer_messages_to instead of picking between copy and move.
	Remove vtrash special-casing since it's all in
	camel-vtrash-folder.c now. Remove duplicate source == dest check.

	* mail-local.c (mail_local_folder_reconfigure): Use
	transfer_messages_to instead of copy_messages_to.

svn path=/trunk/; revision=16745
This commit is contained in:
Dan Winship
2002-05-10 16:46:04 +00:00
parent 6952dcb7c0
commit cf18d0940f
3 changed files with 12 additions and 35 deletions

View File

@ -1,3 +1,13 @@
2002-05-10 Dan Winship <danw@ximian.com>
* mail-ops.c (transfer_messages_transfer): Simplify. Use
transfer_messages_to instead of picking between copy and move.
Remove vtrash special-casing since it's all in
camel-vtrash-folder.c now. Remove duplicate source == dest check.
* mail-local.c (mail_local_folder_reconfigure): Use
transfer_messages_to instead of copy_messages_to.
2002-05-09 Jeffrey Stedfast <fejj@ximian.com>
* mail-account-gui.c (mail_account_gui_save): Make sure that even

View File

@ -686,7 +686,7 @@ mail_local_folder_reconfigure (MailLocalFolder *mlf, const char *new_format, int
camel_folder_freeze(mlf->real_folder);
uids = camel_folder_get_uids(fromfolder);
camel_folder_move_messages_to(fromfolder, uids, mlf->real_folder, ex);
camel_folder_transfer_messages_to(fromfolder, uids, mlf->real_folder, TRUE, ex);
camel_folder_free_uids(fromfolder, uids);
if (camel_exception_is_set(ex))
goto cleanup;

View File

@ -924,10 +924,6 @@ transfer_messages_transfer (struct _mail_msg *mm)
{
struct _transfer_msg *m = (struct _transfer_msg *)mm;
CamelFolder *dest;
char *desc;
void (*func) (CamelFolder *, GPtrArray *,
CamelFolder *,
CamelException *);
dest = mail_tool_uri_to_folder (m->dest_uri, m->dest_flags, &mm->ex);
if (camel_exception_is_set (&mm->ex))
@ -939,39 +935,10 @@ transfer_messages_transfer (struct _mail_msg *mm)
return;
}
if (m->delete) {
func = camel_folder_move_messages_to;
desc = _("Moving");
} else {
func = camel_folder_copy_messages_to;
desc = _("Copying");
}
camel_folder_freeze (m->source);
camel_folder_freeze (dest);
if (CAMEL_IS_VTRASH_FOLDER (dest)) {
if (m->delete) {
int i;
/* Just mark all the messages as deleted */
for (i = 0; i < m->uids->len; i++)
camel_folder_delete_message (m->source, m->uids->pdata[i]);
} else {
/* no-op - can't copy messages to*/
}
} else {
if (dest == m->source) {
int i;
/* Undelete the messages if they are marked as deleted */
for (i = 0; i < m->uids->len; i++)
camel_folder_set_message_flags (m->source, m->uids->pdata[i],
CAMEL_MESSAGE_DELETED, 0);
} else {
(func) (m->source, m->uids, dest, &mm->ex);
}
}
camel_folder_transfer_messages_to (m->source, m->uids, dest, m->delete, &mm->ex);
camel_folder_thaw (m->source);
camel_folder_thaw (dest);