* src/folder.[ch]
[claws.git] / src / folder.h
index 974c1ac2a9cfbb7283a7966f15450827419236aa..e95cd0a5fd932bf1896dab0984ac21b69d87baa0 100644 (file)
@@ -133,6 +133,9 @@ struct _Folder
                                         FolderItem     *item,
                                         gboolean        use_cache);
 */
+       FolderItem *(*item_new)         (Folder         *folder);
+       void     (*item_destroy)        (Folder         *folder,
+                                        FolderItem     *item);
        gchar *  (*fetch_msg)           (Folder         *folder,
                                         FolderItem     *item,
                                         gint            num);
@@ -161,14 +164,18 @@ struct _Folder
        gint     (*remove_msg)          (Folder         *folder,
                                         FolderItem     *item,
                                         gint            num);
+       gint     (*remove_msgs)         (Folder         *folder,
+                                        FolderItem     *item,
+                                        GSList         *msglist);
        gint     (*remove_all_msg)      (Folder         *folder,
                                         FolderItem     *item);
        gboolean (*is_msg_changed)      (Folder         *folder,
                                         FolderItem     *item,
                                         MsgInfo        *msginfo);
        gint     (*scan)                (Folder         *folder);
-       GSList  * (*get_num_list)       (Folder         *folder,
-                                        FolderItem     *item);
+       gint     (*get_num_list)        (Folder         *folder,
+                                        FolderItem     *item,
+                                        GSList        **list);
        void     (*scan_tree)           (Folder         *folder);
 
        gint     (*create_tree)         (Folder         *folder);
@@ -219,7 +226,6 @@ struct _FolderItem
 
        gchar *name;
        gchar *path;
-       PrefsAccount *account;
 
        time_t mtime;
 
@@ -241,6 +247,7 @@ struct _FolderItem
 
        gint op_count;
        guint opened    : 1; /* opened by summary view */
+       guint need_update    : 1; /* folderview for this folder should be updated */
 
        FolderSortKey sort_key;
        FolderSortType sort_type;
@@ -249,6 +256,10 @@ struct _FolderItem
 
        Folder *folder;
 
+       PrefsAccount *account;
+
+       gboolean apply_sub;
+       
        GSList *mark_queue;
 
        gpointer data;
@@ -324,6 +335,7 @@ FolderItem *folder_get_default_queue        (void);
 FolderItem *folder_get_default_trash   (void);
 FolderItem *folder_get_default_processing (void);
 void folder_set_missing_folders                (void);
+void folder_unref_account_all          (PrefsAccount   *account);
 
 gchar *folder_get_path                 (Folder         *folder);
 gchar *folder_item_get_path            (FolderItem     *item);