aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--shell/ChangeLog5
-rw-r--r--shell/e-shortcuts-view.c23
2 files changed, 19 insertions, 9 deletions
diff --git a/shell/ChangeLog b/shell/ChangeLog
index 123cfd0795..cdb77f31b4 100644
--- a/shell/ChangeLog
+++ b/shell/ChangeLog
@@ -1,3 +1,8 @@
+2001-07-05 Iain Holmes <iain@ximian.com>
+
+ * e-shortcuts-view.c (icon_callback): Special case the evolution:/My
+ Evolution uri.
+
2001-07-05 Ettore Perazzoli <ettore@ximian.com>
* e-shell-view-menu.c: Removed handler for verb
diff --git a/shell/e-shortcuts-view.c b/shell/e-shortcuts-view.c
index 32aa46fa56..0b07bce156 100644
--- a/shell/e-shortcuts-view.c
+++ b/shell/e-shortcuts-view.c
@@ -104,18 +104,23 @@ icon_callback (EShortcutBar *shortcut_bar,
storage_set = e_shortcuts_get_storage_set (shortcuts);
folder_type_registry = e_storage_set_get_folder_type_registry (storage_set);
- folder = e_storage_set_get_folder (storage_set,
- get_storage_set_path_from_uri (uri));
-
- if (folder == NULL)
- return NULL;
-
- type = e_folder_get_type_string (folder);
- if (type == NULL)
- return NULL;
+ if (strcmp ("evolution:/My Evolution", uri) == 0) {
+ type = g_strdup ("My Evolution");
+ } else {
+ folder = e_storage_set_get_folder (storage_set,
+ get_storage_set_path_from_uri (uri));
+
+ if (folder == NULL)
+ return NULL;
+
+ type = g_strdup (e_folder_get_type_string (folder));
+ if (type == NULL)
+ return NULL;
+ }
/* FIXME mini icons? */
pixbuf = e_folder_type_registry_get_icon_for_type (folder_type_registry, type, FALSE);
+ g_free (type);
if (pixbuf != NULL)
gdk_pixbuf_ref (pixbuf);