aboutsummaryrefslogtreecommitdiff
path: root/libsylph/folder.c
diff options
context:
space:
mode:
authorhiro <hiro@ee746299-78ed-0310-b773-934348b2243d>2007-09-14 08:12:20 +0000
committerhiro <hiro@ee746299-78ed-0310-b773-934348b2243d>2007-09-14 08:12:20 +0000
commitab880a9066b4f32d08ba99903d09a4a5675dd214 (patch)
treeda3d3294e3feacc04b2022c72dcf920b6551ed23 /libsylph/folder.c
parent7f69beae19a44f3e2df8097add8c89f34a01e058 (diff)
modified the method of getting IMAP4 folder list.
git-svn-id: svn://sylpheed.sraoss.jp/sylpheed/trunk@1900 ee746299-78ed-0310-b773-934348b2243d
Diffstat (limited to 'libsylph/folder.c')
-rw-r--r--libsylph/folder.c41
1 files changed, 41 insertions, 0 deletions
diff --git a/libsylph/folder.c b/libsylph/folder.c
index 0649ca21..cb630521 100644
--- a/libsylph/folder.c
+++ b/libsylph/folder.c
@@ -209,6 +209,47 @@ void folder_item_append(FolderItem *parent, FolderItem *item)
item->node = g_node_append_data(parent->node, item);
}
+FolderItem *folder_item_copy(FolderItem *item)
+{
+ FolderItem *new_item;
+
+ new_item = g_new0(FolderItem, 1);
+
+ new_item->stype = item->stype;
+ new_item->name = g_strdup(item->name);
+ new_item->path = g_strdup(item->path);
+ new_item->mtime = item->mtime;
+ new_item->new = item->new;
+ new_item->unread = item->unread;
+ new_item->total = item->total;
+ new_item->unmarked_num = item->unmarked_num;
+ new_item->last_num = item->last_num;
+ new_item->no_sub = item->no_sub;
+ new_item->no_select = item->no_select;
+ new_item->collapsed = item->collapsed;
+ new_item->threaded = item->threaded;
+ new_item->opened = item->opened;
+ new_item->updated = item->updated;
+ new_item->cache_dirty = item->cache_dirty;
+ new_item->mark_dirty = item->mark_dirty;
+ new_item->node = item->node;
+ new_item->parent = item->parent;
+ new_item->folder = item->folder;
+ new_item->account = item->account;
+ new_item->ac_apply_sub = item->ac_apply_sub;
+ new_item->auto_to = g_strdup(item->auto_to);
+ new_item->use_auto_to_on_reply = item->use_auto_to_on_reply;
+ new_item->auto_cc = g_strdup(item->auto_cc);
+ new_item->auto_bcc = g_strdup(item->auto_bcc);
+ new_item->auto_replyto = g_strdup(item->auto_replyto);
+ new_item->mark_queue = item->mark_queue;
+ new_item->last_selected = item->last_selected;
+ new_item->qsearch_cond_type = item->qsearch_cond_type;
+ new_item->data = item->data;
+
+ return new_item;
+}
+
static gboolean folder_item_remove_func(GNode *node, gpointer data)
{
FolderItem *item = FOLDER_ITEM(node->data);