diff options
-rw-r--r-- | mail/ChangeLog | 10 | ||||
-rw-r--r-- | mail/component-factory.c | 7 | ||||
-rw-r--r-- | mail/mail-tools.c | 14 |
3 files changed, 25 insertions, 6 deletions
diff --git a/mail/ChangeLog b/mail/ChangeLog index 5f91a2e73d..13ed145dc6 100644 --- a/mail/ChangeLog +++ b/mail/ChangeLog @@ -1,3 +1,13 @@ +2001-06-14 Not Zed <NotZed@Ximian.com> + + * mail-tools.c (mail_tool_uri_to_folder): If we have a fragment in + the url, use that as the folder name, and not the path component. + +2001-06-13 Not Zed <NotZed@Ximian.com> + + * component-factory.c (mail_load_storages): Added temp hack to let + spool providers show up in the list. + 2001-06-16 Jeffrey Stedfast <fejj@ximian.com> * folder-browser.c (my_folder_browser_init): Allow user's to diff --git a/mail/component-factory.c b/mail/component-factory.c index de73ff269a..4a7a4131a7 100644 --- a/mail/component-factory.c +++ b/mail/component-factory.c @@ -736,9 +736,12 @@ mail_load_storages (GNOME_Evolution_Shell shell, const GSList *sources, gboolean * (/var/spool/mail/user) or a storage (~/mail/, eg). * That issue can't be resolved on the provider level * -- it's a per-URL problem. + * MPZ Added a hack to let spool protocol through temporarily ... */ - if (!(prov->flags & CAMEL_PROVIDER_IS_STORAGE) || - !(prov->flags & CAMEL_PROVIDER_IS_REMOTE)) + if ((!(prov->flags & CAMEL_PROVIDER_IS_STORAGE) || + !(prov->flags & CAMEL_PROVIDER_IS_REMOTE)) + && !((strcmp(prov->protocol, "spool") == 0) + || strcmp(prov->protocol, "maildir") == 0)) continue; store = camel_session_get_service (session, service->url, diff --git a/mail/mail-tools.c b/mail/mail-tools.c index d5966a8993..c6cb3c9685 100644 --- a/mail/mail-tools.c +++ b/mail/mail-tools.c @@ -266,10 +266,16 @@ mail_tool_uri_to_folder (const char *uri, CamelException *ex) if (store) { char *name; - if (url->path && *url->path) - name = url->path + 1; - else - name = ""; + /* if we have a fragment, then the path is actually used by the store, + so the fragment is the path to the folder instead */ + if (url->fragment) { + name = url->fragment; + } else { + if (url->path && *url->path) + name = url->path + 1; + else + name = ""; + } if (offset) folder = camel_store_get_trash (store, ex); |