aboutsummaryrefslogtreecommitdiffstats
path: root/mail/message-list.h
diff options
context:
space:
mode:
authorNot Zed <NotZed@Ximian.com>2004-04-14 18:33:38 +0800
committerMichael Zucci <zucchi@src.gnome.org>2004-04-14 18:33:38 +0800
commit783645304dffa63ba978ceec1874f6e9cd7f419a (patch)
tree3582bc79db91d67c6f4aa4491daa45a2a8d725ee /mail/message-list.h
parent3cf228772512334661adb91a1a709b6a2962651f (diff)
downloadgsoc2013-evolution-783645304dffa63ba978ceec1874f6e9cd7f419a.tar.gz
gsoc2013-evolution-783645304dffa63ba978ceec1874f6e9cd7f419a.tar.zst
gsoc2013-evolution-783645304dffa63ba978ceec1874f6e9cd7f419a.zip
ugh, use the queued thread to get the folder, otherwise we can get folders
2004-04-14 Not Zed <NotZed@Ximian.com> * em-folder-view.c (emfv_set_folder_uri): ugh, use the queued thread to get the folder, otherwise we can get folders set on the display out of order. * message-list.c (message_list_set_search): if we set this while frozen, save the search elsewhere. (message_list_thaw): if we had a frozen-time search, use it when we regenerate. * em-folder-browser.c (emfb_set_folder): freeze/thaw the messagelist around changes so we don't have multiple updates fire off changing folders. (emfb_activate): remove an unused variable i never used. * message-list.c (message_list_freeze, message_list_thaw): lock some updates to the ui, so you can do things like set folder and search atomically. (message_list_set_threaded, message_list_set_hidedeleted) (message_list_set_search, message_list_hide_uids) (message_list_hide_clear, message_list_set_folder): dont refresh the list if we're frozen. svn path=/trunk/; revision=25458
Diffstat (limited to 'mail/message-list.h')
-rw-r--r--mail/message-list.h10
1 files changed, 9 insertions, 1 deletions
diff --git a/mail/message-list.h b/mail/message-list.h
index 5d88d28692..8c47a12ab2 100644
--- a/mail/message-list.h
+++ b/mail/message-list.h
@@ -119,7 +119,10 @@ struct _MessageList {
/* is the message-list object in a destroyed state? */
guint destroyed : 1;
-
+
+ /* frozen count */
+ guint frozen:16;
+
/* Where the ETree cursor is. */
int cursor_row;
char *cursor_uid;
@@ -134,6 +137,8 @@ struct _MessageList {
GList *regen;
char *pending_select_uid; /* set if we were busy regnerating while we had a select come in */
+ char *frozen_search; /* to save search took place while we were frozen */
+
/* the current camel folder thread tree, if any */
struct _CamelFolderThread *thread_tree;
@@ -166,6 +171,9 @@ void message_list_foreach (MessageList *message_list,
MessageListForeachFunc callback,
gpointer user_data);
+void message_list_freeze(MessageList *ml);
+void message_list_thaw(MessageList *ml);
+
GPtrArray *message_list_get_selected(MessageList *ml);
void message_list_free_uids(MessageList *ml, GPtrArray *uids);