aboutsummaryrefslogtreecommitdiffstats
path: root/shell/e-shortcuts.c
diff options
context:
space:
mode:
Diffstat (limited to 'shell/e-shortcuts.c')
-rw-r--r--shell/e-shortcuts.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/shell/e-shortcuts.c b/shell/e-shortcuts.c
index 04899064f2..a6a35d49de 100644
--- a/shell/e-shortcuts.c
+++ b/shell/e-shortcuts.c
@@ -331,8 +331,18 @@ load_shortcuts (EShortcuts *shortcuts,
name = xmlGetProp (q, "name");
type = xmlGetProp (q, "type");
- shortcut_item = shortcut_item_new (uri, name, 0, type);
+ if (strncmp (uri, E_SHELL_URI_PREFIX, E_SHELL_URI_PREFIX_LEN) == 0) {
+ EFolder *folder;
+
+ folder = e_storage_set_get_folder (priv->storage_set, uri + E_SHELL_URI_PREFIX_LEN);
+ if (folder != NULL) {
+ if (type != NULL)
+ xmlFree (type);
+ type = g_strdup (e_folder_get_type_string (folder));
+ }
+ }
+ shortcut_item = shortcut_item_new (uri, name, 0, type);
shortcut_group->shortcuts = g_slist_prepend (shortcut_group->shortcuts,
shortcut_item);