diff options
author | Dan Winship <danw@src.gnome.org> | 2001-05-27 01:17:10 +0800 |
---|---|---|
committer | Dan Winship <danw@src.gnome.org> | 2001-05-27 01:17:10 +0800 |
commit | 364cdf26e787ac19200de24beb147c9ac229c16b (patch) | |
tree | e58a9cee226f32246f43d246c80a731c4bda5d80 /camel/providers/imap/camel-imap-folder.h | |
parent | 1f50ab36a1e3835e5b701c3eb0d0867a15386067 (diff) | |
download | gsoc2013-evolution-364cdf26e787ac19200de24beb147c9ac229c16b.tar.gz gsoc2013-evolution-364cdf26e787ac19200de24beb147c9ac229c16b.tar.zst gsoc2013-evolution-364cdf26e787ac19200de24beb147c9ac229c16b.zip |
Add a "need_rescan" flag saying if we want to rescan the entire folder for
* providers/imap/camel-imap-folder.c: Add a "need_rescan" flag
saying if we want to rescan the entire folder for flag changes
next time it's selected.
(camel_imap_folder_init): Set need_rescan TRUE.
(camel_imap_folder_selected): If need_rescan is TRUE, call
imap_rescan.
(imap_refresh_info): Only do a full rescan if need_rescan is TRUE.
Otherwise just do a NOOP, making this a MUCH more lightweight
operation. Also, don't call imap_rescan directly if the folder
isn't selected, since that could end up causing the folder to be
scanned *twice* (imap_rescan -> camel_imap_command ->
camel_imap_folder_selected -> imap_rescan).
(imap_rescan): Set need_rescan FALSE.
(imap_sync_online): Don't NOOP if no changes were pushed: the
caller will call refresh_info if it wants to poll for changes.
Fixes evolution-mail doing lots of unnecessary extra work at
quit time.
svn path=/trunk/; revision=10010
Diffstat (limited to 'camel/providers/imap/camel-imap-folder.h')
-rw-r--r-- | camel/providers/imap/camel-imap-folder.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/camel/providers/imap/camel-imap-folder.h b/camel/providers/imap/camel-imap-folder.h index 96b33c0400..8f358e656c 100644 --- a/camel/providers/imap/camel-imap-folder.h +++ b/camel/providers/imap/camel-imap-folder.h @@ -48,6 +48,7 @@ struct _CamelImapFolder { struct _CamelImapFolderPrivate *priv; + gboolean need_rescan; CamelFolderSearch *search; CamelImapMessageCache *cache; }; |