Use mbox_set_message_flags () instead of setting the flags by hand. This

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

svn path=/trunk/; revision=4118
This commit is contained in:
Jeffrey Stedfast
2000-07-12 19:28:50 +00:00
committed by Jeffrey Stedfast
parent 49618ae6eb
commit 2872871ac0
4 changed files with 23 additions and 23 deletions

View File

@ -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

View File

@ -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. */

View File

@ -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 *

View File

@ -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));
}
}