/*
* 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
Folder *(*new_folder) (const gchar *name,
const gchar *path);
void (*destroy_folder) (Folder *folder);
- void (*scan_tree) (Folder *folder);
+ gint (*scan_tree) (Folder *folder);
gint (*create_tree) (Folder *folder);
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,
gint (*add_msgs) (Folder *folder,
FolderItem *dest,
GSList *file_list,
- MsgNumberList **newnum_list);
+ GRelation *relation);
gint (*copy_msg) (Folder *folder,
FolderItem *dest,
MsgInfo *msginfo);
gint (*copy_msgs) (Folder *folder,
FolderItem *dest,
MsgInfoList *msglist,
- MsgNumberList **newnum_list);
+ GRelation *relation);
gint (*remove_msg) (Folder *folder,
FolderItem *item,
gint num);
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,
FolderItem **new_item);
gint folder_item_move_msg (FolderItem *dest,
MsgInfo *msginfo);
-gint folder_item_move_msgs_with_dest (FolderItem *dest,
+gint folder_item_move_msgs (FolderItem *dest,
GSList *msglist);
gint folder_item_copy_msg (FolderItem *dest,
MsgInfo *msginfo);
-gint folder_item_copy_msgs_with_dest (FolderItem *dest,
+gint folder_item_copy_msgs (FolderItem *dest,
GSList *msglist);
gint folder_item_remove_msg (FolderItem *item,
gint num);