*
* 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
- * the Free Software Foundation; either version 2 of the License, or
+ * the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* GNU General Public License for more details.
*
* 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
*/
#ifndef __FOLDER_H__
SORT_BY_STATUS,
SORT_BY_MIME,
SORT_BY_TO,
- SORT_BY_LOCKED
+ SORT_BY_LOCKED,
+ SORT_BY_TAGS,
+ SORT_BY_THREAD_DATE
} FolderSortKey;
typedef enum
/* Called when switching offline or asking for synchronisation. the imple
* mentation should do what's necessary to be able to read mails present
* in the FolderItem at this time with no network connectivity.
+ * Days: max number of days of mail to fetch.
*/
- void (*synchronise) (FolderItem *item);
+ void (*synchronise) (FolderItem *item,
+ gint days);
/* Passed from claws-mail --subscribe scheme://uri. Implementations
* should check if they handle this type of URI, and return TRUE in this
void (*copy_private_data) (Folder *folder,
FolderItem *src,
FolderItem *dest);
+
+ void (*remove_cached_msg) (Folder *folder,
+ FolderItem *item,
+ MsgInfo *msginfo);
};
struct _FolderItem
gint unreadmarked_msgs;
gint marked_msgs;
+ gint order;
+
gint last_num;
MsgCache *cache;
SpecialFolderItemType parent_stype;
gboolean processing_pending;
gboolean scanning;
+ guint last_seen;
};
struct _PersistPrefs
FolderClass *folder_get_class_from_string (const gchar *str);
FolderItem *folder_find_child_item_by_name (FolderItem *item,
const gchar *name);
-gchar *folder_get_identifier (Folder *folder);
gchar *folder_item_get_identifier (FolderItem *item);
FolderItem *folder_find_item_from_identifier (const gchar *identifier);
gchar *folder_item_get_name (FolderItem *item);
-Folder *folder_get_default_folder (void);
FolderItem *folder_get_default_inbox (void);
+FolderItem *folder_get_default_inbox_for_class(FolderType type);
FolderItem *folder_get_default_outbox (void);
+FolderItem *folder_get_default_outbox_for_class(FolderType type);
FolderItem *folder_get_default_draft (void);
+FolderItem *folder_get_default_draft_for_class(FolderType type);
FolderItem *folder_get_default_queue (void);
+FolderItem *folder_get_default_queue_for_class(FolderType type);
FolderItem *folder_get_default_trash (void);
+FolderItem *folder_get_default_trash_for_class(FolderType type);
FolderItem *folder_get_default_processing (void);
void folder_set_missing_folders (void);
void folder_unref_account_all (PrefsAccount *account);
gboolean folder_item_is_msg_changed (FolderItem *item,
MsgInfo *msginfo);
/* return value is locale chaset */
-gchar *folder_item_get_cache_file (FolderItem *item);
-gchar *folder_item_get_mark_file (FolderItem *item);
gchar * folder_item_get_identifier (FolderItem * item);
-GHashTable *folder_persist_prefs_new (Folder *folder);
-void folder_persist_prefs_free (GHashTable *pptable);
-const PersistPrefs *folder_get_persist_prefs
- (GHashTable *pptable, const char *name);
-
-void folder_item_restore_persist_prefs (FolderItem *item, GHashTable *pptable);
void folder_clean_cache_memory (FolderItem *protected_item);
void folder_clean_cache_memory_force (void);
void folder_item_write_cache (FolderItem *item);
gboolean folder_get_sort_type (Folder *folder,
FolderSortKey *sort_key,
FolderSortType *sort_type);
-
+void folder_item_synchronise (FolderItem *item);
#endif /* __FOLDER_H__ */