diff options
-rw-r--r-- | mail/ChangeLog | 9 | ||||
-rw-r--r-- | mail/component-factory.c | 2 | ||||
-rw-r--r-- | mail/folder-browser.c | 29 |
3 files changed, 29 insertions, 11 deletions
diff --git a/mail/ChangeLog b/mail/ChangeLog index 08f7ed9499..c6f34b0486 100644 --- a/mail/ChangeLog +++ b/mail/ChangeLog @@ -1,3 +1,11 @@ +2000-06-22 Jeffrey Stedfast <fejj@helixcode.com> + + * folder-browser.c (folder_browser_load_folder): Updated to + prepend url-> path if it exists for that imap store. + + * component-factory.c (create_imap_storage): Modified to not + prepend a hard-coded namespace. + 2000-06-22 Chris Toshok <toshok@helixcode.com> * mail-ops.c (fetch_mail_cleanup): new function, passed as arg to @@ -53,6 +61,7 @@ UI-friendly name. (dispatch_func): Free the saved prettyname. +>>>>>>> 1.221 2000-06-21 Christopher James Lahey <clahey@helixcode.com> * message-list.c: Removed an erroneous comment. diff --git a/mail/component-factory.c b/mail/component-factory.c index bea11d4029..5337a5e6f9 100644 --- a/mail/component-factory.c +++ b/mail/component-factory.c @@ -324,7 +324,7 @@ create_imap_storage (EvolutionShellComponent *shell_component) char *path, *buf; path = g_strdup_printf ("/%s", (char *)lsub->pdata[i]); - buf = g_strdup_printf ("%s/mail%s", source, path); + buf = g_strdup_printf ("%s/%s", source, path); g_print ("Adding %s\n", path); evolution_storage_new_folder (storage, path, "mail", buf, "description"); } diff --git a/mail/folder-browser.c b/mail/folder-browser.c index 6a90b23b30..b880a867b6 100644 --- a/mail/folder-browser.c +++ b/mail/folder-browser.c @@ -64,10 +64,10 @@ folder_browser_load_folder (FolderBrowser *fb, const char *name) ex = camel_exception_new (); - if (!strncmp(name, "vfolder:", 8)) { + if (!strncmp (name, "vfolder:", 8)) { char *query, *newquery; - store_name = g_strdup(name); - query = strchr(store_name, '?'); + store_name = g_strdup (name); + query = strchr (store_name, '?'); if (query) { *query++ = 0; } else { @@ -92,15 +92,15 @@ folder_browser_load_folder (FolderBrowser *fb, const char *name) if (st) { source_folder = camel_store_get_folder (st, "mbox", FALSE, ex); if (source_folder) { - camel_vee_folder_add_folder(new_folder, source_folder); + camel_vee_folder_add_folder (new_folder, source_folder); } } } } - g_free(newquery); - g_free(store_name); + g_free (newquery); + g_free (store_name); - } else if (!strncmp(name, "imap:", 5)) { + } else if (!strncmp (name, "imap:", 5)) { /* uhm, I'm just guessing here - this code might be wrong */ char *service, *ptr; @@ -113,16 +113,25 @@ folder_browser_load_folder (FolderBrowser *fb, const char *name) store = camel_session_get_store (session, service, ex); g_free (service); if (store) { + CamelURL *url = CAMEL_SERVICE (store)->url; char *folder_name; - for (ptr = name + 7; *ptr && *ptr != '/'; ptr++); + for (ptr = (char *)(name + 7); *ptr && *ptr != '/'; ptr++); if (*ptr == '/') { - folder_name = ptr + 1; + if (url && url->path) { + fprintf (stderr, "namespace = %s\n", url->path); + ptr += strlen (url->path); + } + + ptr++; + folder_name = g_strdup (ptr); + fprintf (stderr, "getting folder: %s\n", folder_name); new_folder = camel_store_get_folder (store, folder_name, TRUE, ex); + g_free (folder_name); } } - } else if (!strncmp(name, "file:", 5)) { + } else if (!strncmp (name, "file:", 5)) { /* Change "file:" to "mbox:". */ store_name = g_strdup_printf ("mbox:%s", name + 5); store = camel_session_get_store (session, store_name, ex); |