From 6071a963e85f69133cc1761e37b6ed942629d70d Mon Sep 17 00:00:00 2001 From: Not Zed Date: Thu, 11 Mar 2004 03:04:45 +0000 Subject: turn off NOINFERIORS always, translate to nochildren. 2004-03-11 Not Zed * providers/imap/camel-imap-store.c (get_one_folder_offline): (parse_list_response_as_folder_info): turn off NOINFERIORS always, translate to nochildren. 2004-03-08 Not Zed * camel-vee-store.c (vee_get_folder_info): setup virtual/system flags as appropriate. (change_folder): setup flags properly. * providers/nntp/camel-nntp-store.c (nntp_store_get_subscribed_folder_info): mark all folders as system folders. * providers/local/camel-mh-store.c (fill_fi): add this to setup folderinfo. (folder_info_new): call fill_fi to fill unread/total. (recursive_scan, folders_scan): ahh yeah, so wtf was i thinking, store->flags != get_folder_info flags!!!! * providers/local/camel-maildir-store.c (camel_folder_info_new): remove unread count arg & setup total. (fill_fi): setup total field. (scan_dir): remove the code that checked the directory directly - use fill_fi instead. It will more accurately reflect what you get when you visit the folder. (camel_folder_info_new): mark "." as a system folder. (scan_dir): try to setup children/no children flags properly. * providers/local/camel-mbox-store.c (fill_fi): setup total field. (scan_dir): init total. (get_folder_info): " 2004-03-05 Not Zed * providers/imap/camel-imap-store.c (parse_list_response_as_folder_info): mark INBOX as a system folder. Can't be renamed/deleted. (fill_fi): setup total field. (get_folder_counts): ditto. * camel-store.c (add_special_info): set the system folder flag. * camel-store.h: time to fix up the camelfolderinfo mess. fix some member names, and add some type fields. Fixed all uses. svn path=/trunk/; revision=25019 --- camel/camel-store.h | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) (limited to 'camel/camel-store.h') diff --git a/camel/camel-store.h b/camel/camel-store.h index 955f4c891a..cc5179c05d 100644 --- a/camel/camel-store.h +++ b/camel/camel-store.h @@ -24,11 +24,9 @@ * USA */ - #ifndef CAMEL_STORE_H #define CAMEL_STORE_H 1 - #ifdef __cplusplus extern "C" { #pragma } @@ -45,15 +43,18 @@ enum { }; typedef struct _CamelFolderInfo { - struct _CamelFolderInfo *parent, - *sibling, - *child; - char *url; + struct _CamelFolderInfo *next; + struct _CamelFolderInfo *parent; + struct _CamelFolderInfo *child; + + char *uri; char *name; char *full_name; char *path; - int unread_message_count; + guint32 flags; + guint32 unread; + guint32 total; } CamelFolderInfo; /* Note: these are abstractions (duh), its upto the provider to make them make sense */ @@ -68,8 +69,12 @@ typedef struct _CamelFolderInfo { #define CAMEL_FOLDER_NOCHILDREN (1<<3) /* a folder which is subscribed */ #define CAMEL_FOLDER_SUBSCRIBED (1<<4) -/* a virtual folder on a non-virtual store (for vTrash/vJunk) */ +/* a virtual folder, cannot copy/move messages here */ #define CAMEL_FOLDER_VIRTUAL (1<<5) +/* a system folder, cannot be renamed/deleted */ +#define CAMEL_FOLDER_SYSTEM (1<<6) +/* a virtual folder that can't be copied to, and can only be moved to if in an existing folder */ +#define CAMEL_FOLDER_VTRASH (1<<7) /* Structure of rename event's event_data */ typedef struct _CamelRenameInfo { -- cgit v1.2.3