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;
};
struct _PersistPrefs
void folder_item_restore_persist_prefs (FolderItem *item, GHashTable *pptable);
void folder_clean_cache_memory (void);
+void folder_clean_cache_memory_force (void);
void folder_item_write_cache (FolderItem *item);
void folder_item_set_default_flags (FolderItem *dest, MsgFlags *flags);
void folder_item_update_freeze (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);
+
#endif /* __FOLDER_H__ */