*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
#ifndef __FOLDER_H__
F_MOVE_FAILED_DEST_IS_PARENT = -1,
F_MOVE_FAILED_DEST_IS_CHILD = -2,
F_MOVE_FAILED_DEST_OUTSIDE_MAILBOX = -3,
- F_MOVE_FAILED = -4,
+ F_MOVE_FAILED = -4
} FolderItemMoveResult;
typedef enum
FOLDER_REMOVE_FOLDER = 1 << 1,
FOLDER_TREE_CHANGED = 1 << 2,
FOLDER_ADD_FOLDERITEM = 1 << 3,
- FOLDER_REMOVE_FOLDERITEM = 1 << 4,
+ FOLDER_REMOVE_FOLDERITEM = 1 << 4
} FolderUpdateFlags;
typedef enum
F_ITEM_UPDATE_CONTENT = 1 << 1,
F_ITEM_UPDATE_ADDMSG = 1 << 2,
F_ITEM_UPDATE_REMOVEMSG = 1 << 3,
- F_ITEM_UPDATE_NAME = 1 << 4,
+ F_ITEM_UPDATE_NAME = 1 << 4
} FolderItemUpdateFlags;
typedef void (*FolderUIFunc) (Folder *folder,
void (*set_batch) (Folder *folder,
FolderItem *item,
gboolean batch);
+ void (*synchronise) (FolderItem *item);
};
struct _FolderItem
gpointer data;
FolderItemPrefs * prefs;
+
+ /* for faster search of special parents */
+ SpecialFolderItemType parent_stype;
+ gboolean processing_pending;
};
struct _PersistPrefs
GList *folder_get_list (void);
gint folder_read_list (void);
void folder_write_list (void);
-void folder_scan_tree (Folder *folder);
+void folder_scan_tree (Folder *folder, gboolean rebuild);
FolderItem *folder_create_folder(FolderItem *parent, const gchar *name);
gint folder_item_rename (FolderItem *item, gchar *newname);
void folder_update_op_count (void);
void folder_item_update_thaw (void);
void folder_item_set_batch (FolderItem *item, gboolean batch);
gboolean folder_has_parent_of_type (FolderItem *item, SpecialFolderItemType type);
+void folder_synchronise (Folder *folder);
+gboolean folder_want_synchronise (Folder *folder);
+void folder_item_process_open (FolderItem *item,
+ void (*before_proc_func)(gpointer data),
+ void (*after_proc_func)(gpointer data),
+ gpointer data);
#endif /* __FOLDER_H__ */