add persistence for collapsed / expanded folder trees
[claws.git] / src / folder.h
index 9227f7fdc315ec26ce35ca5857e9361c7bdadd6f..deb19dee9e75040a58538444aea2f6a264fd1bba 100644 (file)
@@ -1,6 +1,6 @@
 /*
  * Sylpheed -- a GTK+ based, lightweight, and fast e-mail client
- * Copyright (C) 1999,2000 Hiroyuki Yamamoto
+ * Copyright (C) 1999-2001 Hiroyuki Yamamoto
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -148,6 +148,8 @@ struct _Folder
        void     (*change_flags)        (Folder         *folder,
                                         FolderItem     *item,
                                         MsgInfo        *info);
+       void     (*finished_copy)       (Folder * folder, FolderItem * item);
+       void     (*finished_remove)       (Folder * folder, FolderItem * item);
 };
 
 struct _LocalFolder
@@ -182,6 +184,8 @@ struct _MaildirFolder
 struct _IMAPFolder
 {
        RemoteFolder rfolder;
+
+       GList *namespace;       /* list of IMAPNameSpace */
 };
 
 struct _NewsFolder
@@ -207,6 +211,11 @@ struct _FolderItem
 
        gint last_num;
 
+       /* special flags */
+       guint no_sub    : 1; /* no childs allowed? */   
+       guint no_select : 1; /* not selectable?    */
+       guint collapsed : 1; /* collapsed item     */
+
        FolderItem *parent;
 
        Folder *folder;
@@ -234,6 +243,7 @@ FolderItem *folder_item_new (const gchar    *name,
 void        folder_item_append (FolderItem     *parent,
                                 FolderItem     *item);
 void        folder_item_remove (FolderItem     *item);
+void        folder_item_destroy        (FolderItem     *item);
 void        folder_set_ui_func (Folder         *folder,
                                 FolderUIFunc    func,
                                 gpointer        data);
@@ -280,5 +290,7 @@ gboolean folder_item_is_msg_changed (FolderItem     *item,
                                         MsgInfo        *msginfo);
 gchar *folder_item_get_cache_file      (FolderItem     *item);
 gchar *folder_item_get_mark_file       (FolderItem     *item);
+gchar * folder_item_get_identifier(FolderItem * item);
+FolderItem * folder_find_item_from_identifier(const gchar *identifier);
 
 #endif /* __FOLDER_H__ */