aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--mail/ChangeLog10
-rw-r--r--mail/component-factory.c7
-rw-r--r--mail/mail-tools.c14
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);