2009-03-30 [colin] 3.7.1cvs30
[claws.git] / src / folder.h
index 229ce740d38345241d31cfd52b7e59cea6fa9cdc..b740183917fee53f5bbfd2f091c1489fe6fe4a81 100644 (file)
@@ -2,7 +2,7 @@
 
 /*
  * Sylpheed -- a GTK+ based, lightweight, and fast e-mail client
- * Copyright (C) 1999-2008 Hiroyuki Yamamoto and the Claws Mail team
+ * Copyright (C) 1999-2009 Hiroyuki Yamamoto and the Claws Mail team
  *
  * 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
@@ -521,6 +521,8 @@ struct _FolderClass
                                                 FolderItem     *item,
                                                 MsgInfoList    *msglist,
                                                 GRelation      *relation);
+       gint            (*expunge)              (Folder         *folder,
+                                                FolderItem     *item);
        /**
         * Remove all messages in a \ c FolderItem
         *
@@ -656,6 +658,9 @@ struct _FolderItem
        gint last_num;
 
        MsgCache *cache;
+       gboolean cache_dirty;
+       gboolean mark_dirty;
+       gboolean tags_dirty;
 
        /* special flags */
        guint no_sub         : 1; /* no child allowed?    */
@@ -666,6 +671,7 @@ struct _FolderItem
        guint hide_read_msgs : 1; /* hide read messages   */
        guint ret_rcpt       : 1; /* return receipt       */
        guint search_match   : 1;
+       guint hide_del_msgs : 1; /* hide deleted messages   */
 
        gint op_count;
        guint opened         : 1; /* opened by summary view */
@@ -704,6 +710,7 @@ struct _PersistPrefs
        guint           threaded        : 1;
        guint           hide_read_msgs  : 1; /* CLAWS */
        guint           ret_rcpt        : 1; /* CLAWS */
+       guint           hide_del_msgs   : 1; /* CLAWS */
 };
 
 struct _FolderUpdateData
@@ -853,6 +860,7 @@ gint   folder_item_remove_msg               (FolderItem     *item,
                                         gint            num);
 gint   folder_item_remove_msgs         (FolderItem     *item,
                                         GSList         *msglist);
+gint   folder_item_expunge             (FolderItem     *item);
 gint   folder_item_remove_all_msg      (FolderItem     *item);
 void   folder_item_change_msg_flags    (FolderItem     *item,
                                         MsgInfo        *msginfo,