diff options
author | Dan Winship <danw@src.gnome.org> | 2000-10-20 04:30:43 +0800 |
---|---|---|
committer | Dan Winship <danw@src.gnome.org> | 2000-10-20 04:30:43 +0800 |
commit | 24e77716ce81735b648302bc118557f2c9df273d (patch) | |
tree | 1a5edd93ebd63fa192e51bbb01164337a1b453eb /camel/providers/imap | |
parent | fd66663d157d72222d7e99cad417a9a6a53608d0 (diff) | |
download | gsoc2013-evolution-24e77716ce81735b648302bc118557f2c9df273d.tar.gz gsoc2013-evolution-24e77716ce81735b648302bc118557f2c9df273d.tar.zst gsoc2013-evolution-24e77716ce81735b648302bc118557f2c9df273d.zip |
Update comment here so refresh_info isn't just for reconnects any more.
* camel-folder.c (camel_folder_refresh_info): Update comment here
so refresh_info isn't just for reconnects any more. Make the
default implementation a no-op rather than an error.
* providers/nntp/camel-nntp-folder.c: Move refresh_info impl into
camel_nntp_folder_new, since it would have leaked memory and not
done anything useful if it was called later.
* providers/mbox/camel-mbox-folder.c: Remove no-longer-necessary
refresh_info impl.
* providers/imap/camel-imap-folder.c (camel_imap_folder_changed):
Update imap_folder->exists, but don't actually load the new
messages. This is a temporary workaround to deal with the IMAP
provider stealing the message list focus at annoying times.
(imap_copy_message_to, imap_move_message_to): Emit a
folder_changed by hand, for now.
svn path=/trunk/; revision=6046
Diffstat (limited to 'camel/providers/imap')
-rw-r--r-- | camel/providers/imap/camel-imap-folder.c | 29 |
1 files changed, 19 insertions, 10 deletions
diff --git a/camel/providers/imap/camel-imap-folder.c b/camel/providers/imap/camel-imap-folder.c index 38dd495eac..cd9e374bc6 100644 --- a/camel/providers/imap/camel-imap-folder.c +++ b/camel/providers/imap/camel-imap-folder.c @@ -475,9 +475,16 @@ imap_copy_message_to (CamelFolder *source, const char *uid, uid, folder_path); camel_imap_response_free (response); g_free (folder_path); + + /* FIXME: This should go away once folder_changed is being + * emitted by camel_imap_folder_changed on appends again. + */ + if (!camel_exception_is_set (ex)) { + camel_object_trigger_event (CAMEL_OBJECT (destination), + "folder_changed", NULL); + } } -/* FIXME: Duplication of code! */ static void imap_move_message_to (CamelFolder *source, const char *uid, CamelFolder *destination, CamelException *ex) @@ -495,6 +502,12 @@ imap_move_message_to (CamelFolder *source, const char *uid, if (camel_exception_is_set (ex)) return; + /* FIXME: This should go away once folder_changed is being + * emitted by camel_imap_folder_changed on appends again. + */ + camel_object_trigger_event (CAMEL_OBJECT (destination), + "folder_changed", NULL); + camel_folder_delete_message (source, uid); } @@ -804,17 +817,13 @@ camel_imap_folder_changed (CamelFolder *folder, int exists, for (i = 0; i < expunged->len; i++) { id = g_array_index (expunged, int, i); - d(fprintf (stderr, "Expunging message %d from the summary (i = %d)\n", id + i, i)); - camel_folder_summary_remove_index (imap_folder->summary, id - 1); + camel_folder_summary_remove_index ( + imap_folder->summary, id - 1); } + camel_object_trigger_event (CAMEL_OBJECT (folder), + "folder_changed", NULL); } - if (exists > imap_folder->exists) { - int old = imap_folder->exists; - + if (exists != 0) imap_folder->exists = exists; - imap_update_summary (folder, old + 1, exists, ex); - } - - camel_object_trigger_event (CAMEL_OBJECT (folder), "folder_changed", NULL); } |