diff options
author | Christophe Fergeau <teuf@gnome.org> | 2003-10-10 17:01:29 +0000 |
---|---|---|
committer | Christophe Fergeau <cfergeau@src.gnome.org> | 2003-10-10 17:01:29 +0000 |
commit | 5101d9b5618e41c1fad19dc27fb8aa46458de21a (patch) | |
tree | faf3754cf1baddbb72446e643c5dcc919904edd5 /components | |
parent | b9e70033ee4a87269fcba4a0a952fa6abdf951d8 (diff) | |
download | nautilus-5101d9b5618e41c1fad19dc27fb8aa46458de21a.tar.gz |
expand rows in the directory tree view on double-click
2003-10-10 Christophe Fergeau <teuf@gnome.org>
* components/tree/nautilus-tree-view.c : expand rows in the
directory tree view on double-click
Diffstat (limited to 'components')
-rw-r--r-- | components/tree/nautilus-tree-view.c | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/components/tree/nautilus-tree-view.c b/components/tree/nautilus-tree-view.c index b570bf7fd..228f24ae0 100644 --- a/components/tree/nautilus-tree-view.c +++ b/components/tree/nautilus-tree-view.c @@ -328,13 +328,26 @@ cancel_activation (NautilusTreeView *view) } static void +row_activated_callback (GtkTreeView *treeview, GtkTreePath *path, + GtkTreeViewColumn *column, NautilusTreeView *view) +{ + if (gtk_tree_view_row_expanded (view->details->tree_widget, path)) { + gtk_tree_view_collapse_row (view->details->tree_widget, path); + } else { + gtk_tree_view_expand_row (view->details->tree_widget, + path, FALSE); + } +} + + +static void selection_changed_callback (GtkTreeSelection *selection, NautilusTreeView *view) { NautilusFileAttributes attributes; GtkTreeIter iter; - cancel_activation (view); + cancel_activation (view); if (!gtk_tree_selection_get_selected (selection, NULL, &iter)) { return; @@ -594,6 +607,10 @@ create_tree (NautilusTreeView *view) g_signal_connect_object (gtk_tree_view_get_selection (GTK_TREE_VIEW (view->details->tree_widget)), "changed", G_CALLBACK (selection_changed_callback), view, 0); + g_signal_connect (G_OBJECT (view->details->tree_widget), + "row-activated", G_CALLBACK (row_activated_callback), + view); + schedule_show_selection (view); } |