aboutsummaryrefslogtreecommitdiffstats
path: root/mail/mail-component.c
diff options
context:
space:
mode:
authorMilan Crha <mcrha@redhat.com>2007-11-05 19:49:53 +0800
committerMilan Crha <mcrha@src.gnome.org>2007-11-05 19:49:53 +0800
commite335802981396bacf6d20a2168853d94ba15df9c (patch)
tree84ea3d22c04f7ef58edfbb802f75ee15d3cdd25b /mail/mail-component.c
parentaf8315fae1717faa91c26a3051b8b6f07f95062c (diff)
downloadgsoc2013-evolution-e335802981396bacf6d20a2168853d94ba15df9c.tar
gsoc2013-evolution-e335802981396bacf6d20a2168853d94ba15df9c.tar.gz
gsoc2013-evolution-e335802981396bacf6d20a2168853d94ba15df9c.tar.bz2
gsoc2013-evolution-e335802981396bacf6d20a2168853d94ba15df9c.tar.lz
gsoc2013-evolution-e335802981396bacf6d20a2168853d94ba15df9c.tar.xz
gsoc2013-evolution-e335802981396bacf6d20a2168853d94ba15df9c.tar.zst
gsoc2013-evolution-e335802981396bacf6d20a2168853d94ba15df9c.zip
** Fix for bug #343011 (restore collapse state of selected folder after
2007-11-05 Milan Crha <mcrha@redhat.com> ** Fix for bug #343011 (restore collapse state of selected folder after start) * em-folder-tree.c: (emft_maybe_expand_row): Do not expand subtree of a node, only make it visible. * em-folder-tree-model.h: (em_folder_tree_model_get_expanded_uri), (em_folder_tree_model_set_expanded_uri): * em-folder-tree-model.c: (em_folder_tree_model_get_expanded_uri), (em_folder_tree_model_set_expanded_uri): Same as ..._get/_set_expanded, but using 'uri', instead of 'key'. * em-folder-tree-model.c: (emftm_uri_to_key): New helper function. * mail-component.c: (impl_createView): Restore collapsed state after selecting last selected folder, if necessary. svn path=/trunk/; revision=34503
Diffstat (limited to 'mail/mail-component.c')
-rw-r--r--mail/mail-component.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/mail/mail-component.c b/mail/mail-component.c
index 04198ecfb6..9237a1793d 100644
--- a/mail/mail-component.c
+++ b/mail/mail-component.c
@@ -699,8 +699,15 @@ impl_createView (PortableServer_Servant servant,
em_folder_tree_enable_drag_and_drop ((EMFolderTree *) tree_widget);
if ((uri = em_folder_tree_model_get_selected (priv->model))) {
+ gboolean expanded;
+
+ expanded = em_folder_tree_model_get_expanded_uri (priv->model, uri);
em_folder_tree_set_selected ((EMFolderTree *) tree_widget, uri, FALSE);
em_folder_view_set_folder_uri ((EMFolderView *) view_widget, uri);
+
+ if (!expanded)
+ em_folder_tree_model_set_expanded_uri (priv->model, uri, expanded);
+
g_free (uri);
}