From 2872871ac0327cda2fe74f8e81c6fcdfb7064bb6 Mon Sep 17 00:00:00 2001 From: Jeffrey Stedfast Date: Wed, 12 Jul 2000 19:28:50 +0000 Subject: Use mbox_set_message_flags () instead of setting the flags by hand. This 2000-07-12 Jeffrey Stedfast * providers/mbox/camel-mbox-folder.c (mbox_delete_message): Use mbox_set_message_flags () instead of setting the flags by hand. This fixes the problem of the "message_changed" signal not being emitted at the correct time. * providers/imap/camel-imap-folder.c: "folder_changed" signals should pass a third argument (which is ignored). * camel-folder.c: Undo gtk signal emits done in set_flags and expunge. (move_message_to): (copy_message_to): Create info as a const CamelMessageInfo svn path=/trunk/; revision=4118 --- camel/ChangeLog | 15 +++++++++++++++ camel/camel-folder.c | 19 ++----------------- camel/providers/imap/camel-imap-folder.c | 8 ++++---- camel/providers/mbox/camel-mbox-folder.c | 4 ++-- 4 files changed, 23 insertions(+), 23 deletions(-) diff --git a/camel/ChangeLog b/camel/ChangeLog index 3b00513daa..f08e851923 100644 --- a/camel/ChangeLog +++ b/camel/ChangeLog @@ -1,3 +1,18 @@ +2000-07-12 Jeffrey Stedfast + + * providers/mbox/camel-mbox-folder.c (mbox_delete_message): Use + mbox_set_message_flags () instead of setting the flags by hand. This + fixes the problem of the "message_changed" signal not being emitted + at the correct time. + + * providers/imap/camel-imap-folder.c: "folder_changed" signals should + pass a third argument (which is ignored). + + * camel-folder.c: Undo gtk signal emits done in set_flags and + expunge. + (move_message_to): + (copy_message_to): Create info as a const CamelMessageInfo + 2000-07-12 Chris Toshok * providers/nntp/Makefile.am: don't add test-newsrc to the build diff --git a/camel/camel-folder.c b/camel/camel-folder.c index a0f5e9d038..e7af6f6d37 100644 --- a/camel/camel-folder.c +++ b/camel/camel-folder.c @@ -569,11 +569,6 @@ camel_folder_expunge (CamelFolder *folder, CamelException *ex) g_return_if_fail (CAMEL_IS_FOLDER (folder)); CF_CLASS (folder)->expunge (folder, ex); - - if (! (camel_exception_is_set (ex))) { - gtk_signal_emit (GTK_OBJECT (folder), - signals[FOLDER_CHANGED], 0); - } } @@ -733,11 +728,6 @@ camel_folder_set_message_flags (CamelFolder *folder, const char *uid, g_return_if_fail (CAMEL_IS_FOLDER (folder)); CF_CLASS (folder)->set_message_flags (folder, uid, flags, set, ex); - - if (! (camel_exception_is_set (ex))) { - gtk_signal_emit (GTK_OBJECT (folder), - signals[MESSAGE_CHANGED], uid); - } } @@ -799,11 +789,6 @@ camel_folder_set_message_user_flag (CamelFolder *folder, const char *uid, CF_CLASS (folder)->set_message_user_flag (folder, uid, name, value, ex); - - if (! (camel_exception_is_set (ex))) { - gtk_signal_emit (GTK_OBJECT (folder), - signals[MESSAGE_CHANGED], uid); - } } @@ -1096,7 +1081,7 @@ copy_message_to (CamelFolder *source, const char *uid, CamelFolder *dest, CamelException *ex) { CamelMimeMessage *msg; - CamelMessageInfo *info; + const CamelMessageInfo *info; /* Default implementation. */ @@ -1142,7 +1127,7 @@ move_message_to (CamelFolder *source, const char *uid, CamelFolder *dest, CamelException *ex) { CamelMimeMessage *msg; - CamelMessageInfo *info; + const CamelMessageInfo *info; /* Default implementation. */ diff --git a/camel/providers/imap/camel-imap-folder.c b/camel/providers/imap/camel-imap-folder.c index a102f28b19..0f704477a6 100644 --- a/camel/providers/imap/camel-imap-folder.c +++ b/camel/providers/imap/camel-imap-folder.c @@ -350,7 +350,7 @@ imap_expunge (CamelFolder *folder, CamelException *ex) return; } - gtk_signal_emit_by_name (GTK_OBJECT (folder), "folder_changed"); + gtk_signal_emit_by_name (GTK_OBJECT (folder), "folder_changed", 0); g_free (result); } @@ -541,7 +541,7 @@ imap_append_message (CamelFolder *folder, CamelMimeMessage *message, guint32 fla g_free (result); g_free (folder_path); - gtk_signal_emit_by_name (GTK_OBJECT (folder), "folder_changed"); + gtk_signal_emit_by_name (GTK_OBJECT (folder), "folder_changed", 0); } static void @@ -575,7 +575,7 @@ imap_copy_message_to (CamelFolder *source, const char *uid, CamelFolder *destina g_free (result); g_free (folder_path); - gtk_signal_emit_by_name (GTK_OBJECT (destination), "folder_changed"); + gtk_signal_emit_by_name (GTK_OBJECT (destination), "folder_changed", 0); } /* FIXME: Duplication of code! */ @@ -622,7 +622,7 @@ imap_move_message_to (CamelFolder *source, const char *uid, CamelFolder *destina imap_set_message_flags (source, uid, CAMEL_MESSAGE_DELETED, ~(info->flags), ex); - gtk_signal_emit_by_name (GTK_OBJECT (destination), "folder_changed"); + gtk_signal_emit_by_name (GTK_OBJECT (destination), "folder_changed", 0); } static GPtrArray * diff --git a/camel/providers/mbox/camel-mbox-folder.c b/camel/providers/mbox/camel-mbox-folder.c index c9c79a9d0b..2f254e1919 100644 --- a/camel/providers/mbox/camel-mbox-folder.c +++ b/camel/providers/mbox/camel-mbox-folder.c @@ -421,12 +421,12 @@ mbox_get_subfolder_names (CamelFolder *folder, CamelException *ex) static void mbox_delete_message (CamelFolder *folder, const gchar *uid, CamelException *ex) { - CamelMessageInfo *info; + const CamelMessageInfo *info; CamelMboxFolder *mf = CAMEL_MBOX_FOLDER (folder); info = camel_folder_summary_uid (CAMEL_FOLDER_SUMMARY (mf->summary), uid); if (info) { - info->flags |= CAMEL_MESSAGE_DELETED | CAMEL_MESSAGE_FOLDER_FLAGGED; + mbox_set_message_flags (folder, uid, CAMEL_MESSAGE_DELETED, ~(info->flags), ex); camel_folder_summary_touch (CAMEL_FOLDER_SUMMARY (mf->summary)); } } -- cgit v1.2.3