/*
* Sylpheed -- a GTK+ based, lightweight, and fast e-mail client
- * Copyright (C) 1999-2002 Hiroyuki Yamamoto
+ * Copyright (C) 1999-2003 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
typedef enum
{
FOLDER_TREE_CHANGED = 1 << 0,
-/*
- maybe enhance with:
- FOLDER_NEW_FOLDERITEM
- FOLDER_REMOVE_FOLDERITEM
-*/
+ FOLDER_NEW_FOLDERITEM = 1 << 1,
+ FOLDER_REMOVE_FOLDERITEM = 1 << 2,
} FolderUpdateFlags;
typedef enum
FolderItem *item);
gint (*get_num_list) (Folder *folder,
FolderItem *item,
- GSList **list);
+ GSList **list,
+ gboolean *old_uids_valid);
void (*update_mark) (Folder *folder,
FolderItem *item);
void (*finished_copy) (Folder *folder,
FolderItem *item);
void (*finished_remove) (Folder *folder,
- FolderItem * item);
- gboolean (*check_msgnum_validity)(Folder *folder,
- FolderItem * item);
+ FolderItem *item);
+ gboolean (*scan_required) (Folder *folder,
+ FolderItem *item);
/* Message functions */
MsgInfo *(*get_msginfo) (Folder *folder,
GSList *(*get_msginfos) (Folder *folder,
FolderItem *item,
MsgNumberList *msgnum_list);
- gchar *(*fetch_msg) (Folder *folder,
+ /* return value is locale charset */
+ gchar *(*fetch_msg) (Folder *folder,
FolderItem *item,
gint num);
gint (*add_msg) (Folder *folder,
{
SpecialFolderItemType stype;
- gchar *name;
- gchar *path;
+ gchar *name; /* UTF-8 */
+ gchar *path; /* UTF-8 */
time_t mtime;
FolderSortKey sort_key;
FolderSortType sort_type;
+ GNode *node;
+
FolderItem *parent;
Folder *folder;
{
Folder *folder;
FolderUpdateFlags update_flags;
-/*
- FolderItem *item
-*/
+ FolderItem *item;
};
struct _FolderItemUpdateData
void folder_local_folder_destroy (LocalFolder *lfolder);
void folder_remote_folder_destroy(RemoteFolder *rfolder);
-FolderItem *folder_item_new (Folder *folder,
- const gchar *name,
- const gchar *path);
-void folder_item_append (FolderItem *parent,
- FolderItem *item);
-void folder_item_remove (FolderItem *item);
-void folder_item_destroy (FolderItem *item);
+FolderItem *folder_item_new (Folder *folder,
+ const gchar *name,
+ const gchar *path);
+void folder_item_append (FolderItem *parent,
+ FolderItem *item);
+void folder_item_remove (FolderItem *item);
+void folder_item_remove_children (FolderItem *item);
+void folder_item_destroy (FolderItem *item);
void folder_set_ui_func (Folder *folder,
FolderUIFunc func,
void folder_set_missing_folders (void);
void folder_unref_account_all (PrefsAccount *account);
+/* return value is locale encoded file name */
gchar *folder_item_get_path (FolderItem *item);
gint folder_item_open (FolderItem *item);
MsgInfo *folder_item_get_msginfo_by_msgid(FolderItem *item,
const gchar *msgid);
GSList *folder_item_get_msg_list (FolderItem *item);
+/* return value is locale charset */
gchar *folder_item_fetch_msg (FolderItem *item,
gint num);
gint folder_item_add_msg (FolderItem *dest,
MsgPermFlags newflags);
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);