aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--mail/em-folder-tree.c19
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);