aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--shell/ChangeLog18
-rw-r--r--shell/e-corba-storage.c14
-rw-r--r--shell/e-shell-shared-folder-picker-dialog.c3
-rw-r--r--shell/e-shell-view.c7
-rw-r--r--shell/e-shell.c1
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);