diff options
Diffstat (limited to 'mail')
-rw-r--r-- | mail/ChangeLog | 6 | ||||
-rw-r--r-- | mail/component-factory.c | 38 |
2 files changed, 17 insertions, 27 deletions
diff --git a/mail/ChangeLog b/mail/ChangeLog index b733e5131a..6b9e583940 100644 --- a/mail/ChangeLog +++ b/mail/ChangeLog @@ -1,3 +1,9 @@ +2001-10-04 <NotZed@Ximian.com> + + * component-factory.c (storage_remove_folder): Do the url + fragment/path -> folder name hack. Removing vfolders from shell + works now? + 2001-10-03 <NotZed@Ximian.com> * mail-send-recv.c (build_dialogue): Only build destination data diff --git a/mail/component-factory.c b/mail/component-factory.c index bec7eb70c5..74fac2b39f 100644 --- a/mail/component-factory.c +++ b/mail/component-factory.c @@ -944,11 +944,9 @@ storage_remove_folder (EvolutionStorage *storage, { CamelStore *store = user_data; CamelURL *url = NULL; - /*CamelFolderInfo *fi;*/ + char *name; CamelException ex; - /* FIXME: Jeff does this look right? */ - g_warning ("storage_remove_folder: path=\"%s\"; uri=\"%s\"", path, physical_uri); if (!path || !physical_uri || !strncmp (physical_uri, "vtrash:", 7)) { @@ -969,32 +967,23 @@ storage_remove_folder (EvolutionStorage *storage, } camel_exception_init (&ex); -#if 0 - fi = camel_store_get_folder_info (store, url->path + 1, - CAMEL_STORE_FOLDER_INFO_FAST, &ex); - camel_url_free (url); - if (camel_exception_is_set (&ex)) - goto exception; - - if (camel_store_supports_subscriptions (store)) - camel_store_unsubscribe_folder (store, fi->full_name, NULL); - - camel_store_delete_folder (store, fi->full_name, &ex); - - camel_store_free_folder_info (store, fi); -#else - + + if (url->fragment) + name = url->fragment; + else if (url->path && url->path[0]) + name = url->path+1; + else + name = ""; + if (camel_store_supports_subscriptions (store)) - camel_store_unsubscribe_folder (store, url->path + 1, NULL); + camel_store_unsubscribe_folder (store, name, NULL); - camel_store_delete_folder (store, url->path + 1, &ex); + camel_store_delete_folder (store, name, &ex); camel_url_free (url); if (camel_exception_is_set (&ex)) goto exception; -#endif - evolution_storage_removed_folder (storage, path); notify_listener (listener, GNOME_Evolution_Storage_OK); @@ -1003,11 +992,6 @@ storage_remove_folder (EvolutionStorage *storage, exception: /* FIXME: do better than this... */ camel_exception_clear (&ex); -#if 0 - if (fi) - camel_store_free_folder_info (store, fi); -#endif - notify_listener (listener, GNOME_Evolution_Storage_INVALID_URI); } |