diff options
author | hiro <hiro@ee746299-78ed-0310-b773-934348b2243d> | 2008-11-27 10:29:37 +0000 |
---|---|---|
committer | hiro <hiro@ee746299-78ed-0310-b773-934348b2243d> | 2008-11-27 10:29:37 +0000 |
commit | 16eaf67354bca75d9bc3aa6e7393af71c4ddf4ee (patch) | |
tree | 68e5dca2cd645ab11ed671984afbbfafaf7814f5 /src | |
parent | 5d7463379b24ec9b7136da2450cf61e80a44eaaf (diff) |
only expand folders in folder selection dialog which are expanded in the folder view.
git-svn-id: svn://sylpheed.sraoss.jp/sylpheed/trunk@2082 ee746299-78ed-0310-b773-934348b2243d
Diffstat (limited to 'src')
-rw-r--r-- | src/foldersel.c | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/src/foldersel.c b/src/foldersel.c index d945af5d..8d5eb5a6 100644 --- a/src/foldersel.c +++ b/src/foldersel.c @@ -193,6 +193,8 @@ FolderItem *foldersel_folder_sel_full(Folder *cur_folder, selection = gtk_tree_view_get_selection (GTK_TREE_VIEW(treeview)); + gtkut_tree_view_expand_parent_all + (GTK_TREE_VIEW(treeview), &fis.iter); gtk_tree_selection_select_iter(selection, &fis.iter); gtk_tree_view_set_cursor(GTK_TREE_VIEW(treeview), fis.path, NULL, FALSE); @@ -479,6 +481,15 @@ static void foldersel_insert_gnode_in_store(GtkTreeStore *store, GNode *node, item = FOLDER_ITEM(node->data); foldersel_append_item(store, item, &child, parent); + if (parent && item->parent && node->parent->children == node && + !item->parent->collapsed) { + GtkTreePath *path; + + path = gtk_tree_model_get_path(GTK_TREE_MODEL(store), parent); + gtk_tree_view_expand_row(GTK_TREE_VIEW(treeview), path, FALSE); + gtk_tree_path_free(path); + } + /* insert its children (this node as parent) */ for (iter = node->children; iter != NULL; iter = iter->next) foldersel_insert_gnode_in_store(store, iter, &child); @@ -506,8 +517,6 @@ static void foldersel_set_tree(Folder *cur_folder) gtk_tree_sortable_set_sort_column_id(GTK_TREE_SORTABLE(tree_store), FOLDERSEL_FOLDERNAME, GTK_SORT_ASCENDING); - - gtk_tree_view_expand_all(GTK_TREE_VIEW(treeview)); } static gboolean foldersel_selected(GtkTreeSelection *selection, |