aboutsummaryrefslogtreecommitdiffstats
path: root/camel/camel-folder.h
diff options
context:
space:
mode:
authorDan Winship <danw@src.gnome.org>2000-07-03 09:17:49 +0800
committerDan Winship <danw@src.gnome.org>2000-07-03 09:17:49 +0800
commit03b3618408f037589882655e4b97e7b75787b756 (patch)
treec071735ef43e517e3b3bceb4f08c9543180470b5 /camel/camel-folder.h
parent033a1cd5a7336659319b697d319b8c912bf3771a (diff)
downloadgsoc2013-evolution-03b3618408f037589882655e4b97e7b75787b756.tar.gz
gsoc2013-evolution-03b3618408f037589882655e4b97e7b75787b756.tar.zst
gsoc2013-evolution-03b3618408f037589882655e4b97e7b75787b756.zip
New functions to freeze and thaw a folder (to prevent message/folder
* camel-folder.c (camel_folder_freeze, camel_folder_thaw): New functions to freeze and thaw a folder (to prevent message/folder changed signals in the middle of a long series of operations). (camel_folder_class_init): Change signals to GTK_RUN_FIRST. (message_changed, folder_changed): Add default implementations that stop the emission and record info for later if the folder is frozen. * providers/mbox/camel-mbox-folder.c (mbox_sync): leftover fixes from the close->sync change: don't destroy the ibex, summary, and search when syncing. svn path=/trunk/; revision=3863
Diffstat (limited to 'camel/camel-folder.h')
-rw-r--r--camel/camel-folder.h12
1 files changed, 11 insertions, 1 deletions
diff --git a/camel/camel-folder.h b/camel/camel-folder.h
index 5ae8be25cc..d49a7f7650 100644
--- a/camel/camel-folder.h
+++ b/camel/camel-folder.h
@@ -44,7 +44,11 @@ extern "C" {
struct _CamelFolder
{
CamelObject parent_object;
-
+
+ int frozen;
+ gboolean folder_changed;
+ GList *messages_changed;
+
gchar *name;
gchar *full_name;
gchar *separator;
@@ -171,6 +175,9 @@ typedef struct {
const char *uid,
CamelFolder *destination,
CamelException *ex);
+
+ void (*freeze) (CamelFolder *folder);
+ void (*thaw) (CamelFolder *folder);
} CamelFolderClass;
@@ -294,6 +301,9 @@ void camel_folder_move_message_to (CamelFolder *source,
CamelFolder *dest,
CamelException *ex);
+void camel_folder_freeze (CamelFolder *folder);
+void camel_folder_thaw (CamelFolder *folder);
+
#ifdef __cplusplus
}
#endif /* __cplusplus */