From 5101d9b5618e41c1fad19dc27fb8aa46458de21a Mon Sep 17 00:00:00 2001 From: Christophe Fergeau Date: Fri, 10 Oct 2003 17:01:29 +0000 Subject: expand rows in the directory tree view on double-click 2003-10-10 Christophe Fergeau * components/tree/nautilus-tree-view.c : expand rows in the directory tree view on double-click --- components/tree/nautilus-tree-view.c | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) (limited to 'components') 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 @@ -327,6 +327,19 @@ cancel_activation (NautilusTreeView *view) view->details->activation_file = NULL; } +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) @@ -334,7 +347,7 @@ selection_changed_callback (GtkTreeSelection *selection, 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); } -- cgit v1.2.1