diff options
-rw-r--r-- | shell/ChangeLog | 18 | ||||
-rw-r--r-- | shell/e-corba-storage.c | 14 | ||||
-rw-r--r-- | shell/e-shell-shared-folder-picker-dialog.c | 3 | ||||
-rw-r--r-- | shell/e-shell-view.c | 7 | ||||
-rw-r--r-- | shell/e-shell.c | 1 |
5 files changed, 36 insertions, 7 deletions
diff --git a/shell/ChangeLog b/shell/ChangeLog index e48e5e1f60..e3068f8fe0 100644 --- a/shell/ChangeLog +++ b/shell/ChangeLog @@ -1,3 +1,21 @@ +2002-10-23 Ettore Perazzoli <ettore@ximian.com> + + * e-shell.c (setup_local_storage): Set the is_stock flag to TRUE + for the summary folder. + + * e-shell-view.c (setup_verb_sensitivity_for_folder): Don't allow + folder operations on pseudo-folders that have a NULL physical_uri. + + * e-corba-storage.c (async_remove_folder): Make sure the folder + has a physical URI. [#30950] + +2002-10-23 Ettore Perazzoli <ettore@ximian.com> + + * e-shell-shared-folder-picker-dialog.c + (setup_server_option_menu): Use + e_utf8_gtk_menu_item_new_with_label() to create the option menu + items from the storage's UTF-8 name. [#31564] + 2002-10-21 Ettore Perazzoli <ettore@ximian.com> * evolution-shell-component-utils.c diff --git a/shell/e-corba-storage.c b/shell/e-corba-storage.c index 4f5ca6dc1b..31e8c424f1 100644 --- a/shell/e-corba-storage.c +++ b/shell/e-corba-storage.c @@ -351,8 +351,10 @@ async_create_folder (EStorage *storage, const char *path, } static void -async_remove_folder (EStorage *storage, const char *path, - EStorageResultCallback callback, void *data) +async_remove_folder (EStorage *storage, + const char *path, + EStorageResultCallback callback, + void *data) { ECorbaStorage *corba_storage; ECorbaStoragePrivate *priv; @@ -366,8 +368,14 @@ async_remove_folder (EStorage *storage, const char *path, priv = corba_storage->priv; folder = e_storage_get_folder (storage, path); - if (e_folder_get_is_stock (folder)) + if (e_folder_get_is_stock (folder)) { (* callback) (storage, E_STORAGE_CANTCHANGESTOCKFOLDER, data); + return; + } + if (e_folder_get_physical_uri (folder) == NULL) { + (* callback) (storage, E_STORAGE_GENERICERROR, data); + return; + } closure = g_new (struct async_folder_closure, 1); closure->callback = callback; diff --git a/shell/e-shell-shared-folder-picker-dialog.c b/shell/e-shell-shared-folder-picker-dialog.c index cba839f880..2c9c9858bd 100644 --- a/shell/e-shell-shared-folder-picker-dialog.c +++ b/shell/e-shell-shared-folder-picker-dialog.c @@ -34,6 +34,7 @@ #include "Evolution-Addressbook-SelectNames.h" #include <gal/widgets/e-gui-utils.h> +#include <gal/widgets/e-unicode.h> #include <libgnomeui/gnome-stock.h> #include <libgnomeui/gnome-dialog.h> @@ -187,7 +188,7 @@ setup_server_option_menu (EShell *shell, storage_name = e_storage_get_name (E_STORAGE (p->data)); - menu_item = gtk_menu_item_new_with_label (storage_name); + menu_item = e_utf8_gtk_menu_item_new_with_label (GTK_MENU (menu), storage_name); gtk_signal_connect (GTK_OBJECT (menu_item), "activate", GTK_SIGNAL_FUNC (server_option_menu_item_activate_callback), storage_name_return); diff --git a/shell/e-shell-view.c b/shell/e-shell-view.c index 1e5d04436c..22248815d9 100644 --- a/shell/e-shell-view.c +++ b/shell/e-shell-view.c @@ -308,9 +308,11 @@ setup_verb_sensitivity_for_folder (EShellView *shell_view, folder = e_storage_set_get_folder (e_shell_get_storage_set (priv->shell), path); /* Adjust sensitivity for menu options depending on whether the folder - selected is a stock folder. */ + selected can actually be manipulated or not. */ - if (folder != NULL && ! e_folder_get_is_stock (folder)) + if (folder != NULL + && ! e_folder_get_is_stock (folder) + && e_folder_get_physical_uri (folder) != NULL) prop = "1"; else prop = "0"; @@ -621,7 +623,6 @@ storage_set_view_box_button_release_event_cb (GtkWidget *widget, return FALSE; popdown_transient_folder_bar (shell_view); - return TRUE; } diff --git a/shell/e-shell.c b/shell/e-shell.c index 33cdf23751..203f3bbec4 100644 --- a/shell/e-shell.c +++ b/shell/e-shell.c @@ -747,6 +747,7 @@ setup_local_storage (EShell *shell) summary_folder = e_folder_new (U_("Summary"), "summary", ""); e_folder_set_physical_uri (summary_folder, "/"); + e_folder_set_is_stock (summary_folder, TRUE); priv->summary_storage = e_storage_new (E_SUMMARY_STORAGE_NAME, summary_folder); e_storage_set_add_storage (priv->storage_set, priv->summary_storage); |