aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--camel/ChangeLog15
-rw-r--r--camel/camel-folder.c19
-rw-r--r--camel/providers/imap/camel-imap-folder.c8
-rw-r--r--camel/providers/mbox/camel-mbox-folder.c4
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 <fejj@helixcode.com>
+
+ * 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 <toshok@helixcode.com>
* 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));
}
}