diff options
-rw-r--r-- | mail/em-folder-tree.c | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/mail/em-folder-tree.c b/mail/em-folder-tree.c index 567f3de2d4..4a7df713b5 100644 --- a/mail/em-folder-tree.c +++ b/mail/em-folder-tree.c @@ -2716,8 +2716,23 @@ em_folder_tree_restore_state (EMFolderTree *folder_tree, GKeyFile *key_file) goto next; group_name = g_strdup_printf ("Store %s", uri); - - if (!g_key_file_has_key (key_file, group_name, key, NULL)) { + + if (e_shell_get_express_mode (NULL)) { + gboolean system = FALSE; + + if (strncmp (uri, "vfolder", 7) == 0 || + strncmp(uri, "mbox", 4) == 0) + system = TRUE; + + if (!system && !g_key_file_has_key (key_file, group_name, key, NULL)) { + GtkTreePath *path; + + path = gtk_tree_model_get_path (tree_model, &iter); + gtk_tree_view_expand_row (tree_view, path, FALSE); + gtk_tree_path_free (path); + } + + } else if (!g_key_file_has_key (key_file, group_name, key, NULL)) { GtkTreePath *path; path = gtk_tree_model_get_path (tree_model, &iter); |