summaryrefslogtreecommitdiff
path: root/components
diff options
context:
space:
mode:
authorChristophe Fergeau <teuf@gnome.org>2003-10-10 17:01:29 +0000
committerChristophe Fergeau <cfergeau@src.gnome.org>2003-10-10 17:01:29 +0000
commit5101d9b5618e41c1fad19dc27fb8aa46458de21a (patch)
treefaf3754cf1baddbb72446e643c5dcc919904edd5 /components
parentb9e70033ee4a87269fcba4a0a952fa6abdf951d8 (diff)
downloadnautilus-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.c19
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);
}