In camel:
authorPeter Williams <peterw@ximian.com>
Thu, 19 Jul 2001 21:35:42 +0000 (21:35 +0000)
committerPeter Williams <peterw@src.gnome.org>
Thu, 19 Jul 2001 21:35:42 +0000 (21:35 +0000)
commit6c8763f87246772b9f499b11c7a75a4c980e8057
tree4ce34844c5944be33cb9471e39d984f422a33b8e
parentc57da15d7d31a4c22200f8188e96cb3ced6e8596
In camel:

2001-07-19  Peter Williams  <peterw@ximian.com>

Policy change: NULL url's are no longer allowed in CamelFolderInfos. They used
to signify that the folder was, in IMAP jargon, NoSelect; now the same effect
is achieved by adding a "noselect=yes" parameter to the end of the URL. As far
as I know, IMAP is the only affected provider.

* providers/imap/camel-imap-store.c (delete_folder): New function. Implement
folder deletion.
(camel_imap_store_class_init): Set the delete_folder class function here.
(get_folder_status): New function. Utility wrapper around the STATUS command.
(create_folder): If the parent folder is NoSelect but is empty, delete it
and recreate it as a a subfolder-containing folder. If it is NoSelect but
contains messages, set an exception.
(parse_list_response_as_folder_info): Always set the FolderInfo's URL, but
add a NoSelect parameter if it isn't selectable.
(get_folder_info_online): Change logic of removing the namespace to reflect
URL change. Same for logic of checking unread counts.
(get_folder_info_online): Use get_folder_status to simplify this.

* camel-store.c (camel_folder_info_build): When creating
dummy parents, copy the child's URL and set the NoSelect
parameter.

In mail:

2001-07-19  Peter Williams  <peterw@ximian.com>

Track the NoSelect changes in Camel.

* mail-callbacks.c (create_folders): We don't need to check if
the URL is NULL or not anymore.

* component-factory.c (create_noselect_control): New
function. Create a dummy control for folders that can't contain
messages (ie \NoSelect)
(create_view): If the URI says the folder is noselect, make a
dummy control. FIXME: still should merge in the global UI
elements.
(xfer_folder): Don't allow the operation if the destination is
NoSelect.
(destination_folder_handle_motion): Ditto.
(destination_folder_handle_drop): Ditto.
camel/ChangeLog
camel/camel-store.c
camel/providers/imap/camel-imap-store.c