From 8cb5eafe19b6710d0a81256aa1203441a35e01ee Mon Sep 17 00:00:00 2001 From: Jeffrey Stedfast Date: Wed, 22 Aug 2001 23:30:27 +0000 Subject: Don't blindly make all vtrash folder types have a uri of vtrash:file:/, 2001-08-22 Jeffrey Stedfast * component-factory.c (create_view): Don't blindly make all vtrash folder types have a uri of vtrash:file:/, instead only make it use vtrash:file:/ if it's a file: uri, else use physical_uri. svn path=/trunk/; revision=12411 --- mail/ChangeLog | 66 +++++++++++++++++++++++++++--------------------- mail/component-factory.c | 13 ++++++---- mail/mail-local.c | 5 ++-- 3 files changed, 47 insertions(+), 37 deletions(-) diff --git a/mail/ChangeLog b/mail/ChangeLog index 8948af06b8..9c4a45d856 100644 --- a/mail/ChangeLog +++ b/mail/ChangeLog @@ -1,3 +1,9 @@ +2001-08-22 Jeffrey Stedfast + + * component-factory.c (create_view): Don't blindly make all vtrash + folder types have a uri of vtrash:file:/, instead only make it use + vtrash:file:/ if it's a file: uri, else use physical_uri. + 2001-08-22 jacob berkman * mail-display.c: rework how the e-card-popup thing has its life @@ -13,8 +19,8 @@ Prevent the user from creating two accounts with the same name. - * mail-config.c (impl_GNOME_Evolution_MailConfig_addAccount): Abort - if the account has the same name as another account. + * mail-config.c (impl_GNOME_Evolution_MailConfig_addAccount): + Abort if the account has the same name as another account. * mail-account-gui.c (mail_account_gui_save): Don't let the user save if the account has the same name as another account. @@ -27,8 +33,8 @@ (wizard_finish_cb): Save the account first because that's the right way, and try to honor mail_account_gui_save's return value. - * mail-config.glade: Add a label noting that you're not allowed - to create two accounts with the same name. + * mail-config.glade: Add a label noting that you're not allowed to + create two accounts with the same name. 2001-08-22 Peter Williams @@ -38,10 +44,11 @@ 2001-08-21 Peter Williams - * mail-account-editor.c (apply_changes): Honor the return value of + * mail-account-editor.c (apply_changes): Honor the return value of mail_account_gui_save. - * mail-ops.c (sync_folder_desc): Say which folder is getting saved. + * mail-ops.c (sync_folder_desc): Say which folder is getting + saved. 2001-08-21 Dan Winship @@ -50,7 +57,7 @@ something different. Fixes a problem with recognizing icalendar attachments labeled "application/octet-stream". Also, don't bother asking gnome-vfs about winmail.dat attachments, since it will - often claim that they're MPEGs due to some mis-magic. + often claim that they're MPEGs due to some mis-magic. 2001-08-21 Jeffrey Stedfast @@ -60,27 +67,27 @@ 2001-08-21 Peter Williams - * message-list.c (message_list_set_folder): Don't sink the extras since - _set_folder can get called more than once (on reconfigure.) + * message-list.c (message_list_set_folder): Don't sink the extras + since _set_folder can get called more than once (on reconfigure.) (message_list_destroy): So just unref the extras here. - * mail-send-recv.c (build_dialogue): Treat the spool provider like IMAP: - update instead of performing an explicit receive. + * mail-send-recv.c (build_dialogue): Treat the spool provider like + IMAP: update instead of performing an explicit receive. 2001-08-21 Peter Williams - * folder-browser-ui.c (fbui_sensitize_items): Rename to - fbui_real_sensitize_items. Now we queue a change and set up a timeout, - making sure weed out redundant changes, fixing flicker. + * folder-browser-ui.c (fbui_sensitize_items): Rename to + fbui_real_sensitize_items. Now we queue a change and set up a + timeout, making sure weed out redundant changes, fixing flicker. (fbui_sensitize_timeout): New function. The timeout. (fbui_real_sensitize_items): Semi-new function. Rename of old fbui_sensitize_items. - (folder_browser_ui_set_selection_state): Pass the FB instead of only - the UIC to sensitize_items. + (folder_browser_ui_set_selection_state): Pass the FB instead of + only the UIC to sensitize_items. (folder_browser_ui_message_loaded): Same. - * folder-browser.c (folder_browser_destroy): Kill the new timeout if - it is registered. + * folder-browser.c (folder_browser_destroy): Kill the new timeout + if it is registered. * folder-browser.h: Add some members to FolderBrowser for keeping track of the queue of changes. @@ -289,17 +296,18 @@ 2001-08-16 Peter Williams - * folder-browser-ui.c (folder_browser_ui_set_selection_state): Disable - "Search Message" when more or less than exactly one message is selected. - - * subscribe-dialog.c (fe_done_subscribing): Instead of hackfully - getting the path, use a CamelURL so that escaping is handled. Silly - me. -- See below -- - (fe_node_to_shell_path): Use node->name and node->full_name to generate - the the shell path of this item. Don't need to escape the URL, and - handle cases when dir_sep != '/' - (fe_done_subscribing): Use fe_node_to_shell_path instead of the CamelURL. - Third time's the charm... + * folder-browser-ui.c (folder_browser_ui_set_selection_state): + Disable "Search Message" when more or less than exactly one + message is selected. + + * subscribe-dialog.c (fe_done_subscribing): Instead of hackfully + getting the path, use a CamelURL so that escaping is + handled. Silly me. -- See below -- + (fe_node_to_shell_path): Use node->name and node->full_name to + generate the the shell path of this item. Don't need to escape the + URL, and handle cases when dir_sep != '/' + (fe_done_subscribing): Use fe_node_to_shell_path instead of the + CamelURL. Third time's the charm... 2001-08-15 Jeffrey Stedfast diff --git a/mail/component-factory.c b/mail/component-factory.c index d391092901..c8652721e2 100644 --- a/mail/component-factory.c +++ b/mail/component-factory.c @@ -130,7 +130,7 @@ create_view (EvolutionShellComponent *shell_component, shell_client = evolution_shell_component_get_owner (shell_component); corba_shell = bonobo_object_corba_objref (BONOBO_OBJECT (shell_client)); - if (g_strcasecmp (folder_type, "mail") == 0) { + if (!g_strcasecmp (folder_type, "mail")) { const char *noselect; CamelURL *url; @@ -142,7 +142,7 @@ create_view (EvolutionShellComponent *shell_component, control = folder_browser_factory_new_control (physical_uri, corba_shell); camel_url_free (url); - } else if (g_strcasecmp (folder_type, "mailstorage") == 0) { + } else if (!g_strcasecmp (folder_type, "mailstorage")) { CamelService *store; EvolutionStorage *storage; @@ -157,12 +157,15 @@ create_view (EvolutionShellComponent *shell_component, } if (!gtk_object_get_data (GTK_OBJECT (storage), "connected")) - mail_scan_subfolders (CAMEL_STORE(store), storage); + mail_scan_subfolders (CAMEL_STORE (store), storage); camel_object_unref (CAMEL_OBJECT (store)); control = folder_browser_factory_new_control ("", corba_shell); - } else if (g_strcasecmp (folder_type, "vtrash") == 0) { - control = folder_browser_factory_new_control ("vtrash:file:/", corba_shell); + } else if (!g_strcasecmp (folder_type, "vtrash")) { + if (!g_strncasecmp (physical_uri, "file:", 5)) + control = folder_browser_factory_new_control ("vtrash:file:/", corba_shell); + else + control = folder_browser_factory_new_control (physical_uri, corba_shell); } else return EVOLUTION_SHELL_COMPONENT_UNSUPPORTEDTYPE; diff --git a/mail/mail-local.c b/mail/mail-local.c index a0c6802ae7..07b9e37929 100644 --- a/mail/mail-local.c +++ b/mail/mail-local.c @@ -647,8 +647,7 @@ mail_local_storage_startup (EvolutionShellClient *shellclient, local_provider.service_cache = g_hash_table_new (non_hash, non_equal); camel_session_register_provider (session, &local_provider); - - + /* Now build the storage. */ local_store = (MailLocalStore *)camel_session_get_service ( session, "file:/", CAMEL_PROVIDER_STORE, NULL); @@ -656,7 +655,7 @@ mail_local_storage_startup (EvolutionShellClient *shellclient, g_warning ("No local store!"); return; } - + local_store->corba_storage = evolution_shell_client_get_local_storage (shellclient); if (local_store->corba_storage == CORBA_OBJECT_NIL) { g_warning ("No local storage!"); -- cgit v1.2.3