aboutsummaryrefslogtreecommitdiffstats
path: root/camel/camel-folder.c
diff options
context:
space:
mode:
authorJeffrey Stedfast <fejj@helixcode.com>2000-07-12 08:00:11 +0800
committerJeffrey Stedfast <fejj@src.gnome.org>2000-07-12 08:00:11 +0800
commite0fcbaf71a371f95a19d0ea29e8797f26f234326 (patch)
tree5ec091e635a8014f57121bc3d1b1018f65d17653 /camel/camel-folder.c
parent1bdc8787b94b821c5a2cb6be6799a2367e71b4b9 (diff)
downloadgsoc2013-evolution-e0fcbaf71a371f95a19d0ea29e8797f26f234326.tar.gz
gsoc2013-evolution-e0fcbaf71a371f95a19d0ea29e8797f26f234326.tar.zst
gsoc2013-evolution-e0fcbaf71a371f95a19d0ea29e8797f26f234326.zip
Now takes a flags argument to specify the flags to be set on the message
2000-07-11 Jeffrey Stedfast <fejj@helixcode.com> * camel-folder.c (camel_folder_append_message): Now takes a flags argument to specify the flags to be set on the message since we might not necessarily want the flags to be wiped clean. (move_message_to): (copy_message_to): Updated to send a flags argument to append_message (); currently sends the original message's flags. * providers/mbox/camel-mbox-folder.c (mbox_append_message): * providers/imap/camel-imap-folder.c (imap_append_message): Updated. svn path=/trunk/; revision=4099
Diffstat (limited to 'camel/camel-folder.c')
-rw-r--r--camel/camel-folder.c15
1 files changed, 10 insertions, 5 deletions
diff --git a/camel/camel-folder.c b/camel/camel-folder.c
index 454db69773..c76e7faf15 100644
--- a/camel/camel-folder.c
+++ b/camel/camel-folder.c
@@ -96,7 +96,7 @@ static void expunge (CamelFolder *folder,
static void append_message (CamelFolder *folder, CamelMimeMessage *message,
- CamelException *ex);
+ guint32 flags, CamelException *ex);
static GPtrArray *get_uids (CamelFolder *folder,
@@ -621,7 +621,7 @@ camel_folder_get_unread_message_count (CamelFolder *folder, CamelException *ex)
static void
append_message (CamelFolder *folder, CamelMimeMessage *message,
- CamelException *ex)
+ guint32 flags, CamelException *ex)
{
g_warning ("CamelFolder::append_message not implemented for `%s'",
gtk_type_name (GTK_OBJECT_TYPE (folder)));
@@ -640,11 +640,12 @@ append_message (CamelFolder *folder, CamelMimeMessage *message,
void
camel_folder_append_message (CamelFolder *folder,
CamelMimeMessage *message,
+ guint32 flags,
CamelException *ex)
{
g_return_if_fail (CAMEL_IS_FOLDER (folder));
- CF_CLASS (folder)->append_message (folder, message, ex);
+ CF_CLASS (folder)->append_message (folder, message, flags, ex);
}
@@ -1080,13 +1081,15 @@ copy_message_to (CamelFolder *source, const char *uid, CamelFolder *dest,
CamelException *ex)
{
CamelMimeMessage *msg;
+ CamelMessageInfo *info;
/* Default implementation. */
msg = camel_folder_get_message (source, uid, ex);
if (!msg)
return;
- camel_folder_append_message (dest, msg, ex);
+ info = camel_folder_get_message_info (source, uid);
+ camel_folder_append_message (dest, msg, info ? info->flags : 0, ex);
gtk_object_unref (GTK_OBJECT (msg));
if (camel_exception_is_set (ex))
return;
@@ -1124,13 +1127,15 @@ move_message_to (CamelFolder *source, const char *uid, CamelFolder *dest,
CamelException *ex)
{
CamelMimeMessage *msg;
+ CamelMessageInfo *info;
/* Default implementation. */
msg = camel_folder_get_message (source, uid, ex);
if (!msg)
return;
- camel_folder_append_message (dest, msg, ex);
+ info = camel_folder_get_message_info (source, uid);
+ camel_folder_append_message (dest, msg, info ? info->flags : 0, ex);
gtk_object_unref (GTK_OBJECT (msg));
if (camel_exception_is_set (ex))
return;