diff options
author | Marcus Carlson <mdc@src.gnome.org> | 2010-07-10 00:14:00 +0200 |
---|---|---|
committer | Marcus Carlson <mdc@src.gnome.org> | 2010-07-11 22:00:00 +0200 |
commit | 8ef7a9a1a1bdd02926b8b1fe59a6e97cf6c69574 (patch) | |
tree | 031348367e522c8a0bd9202bcfb504b73a59f97d | |
parent | 525b54d9a2385efdae21fd0b0da3631ba0071ce1 (diff) | |
download | nautilus-8ef7a9a1a1bdd02926b8b1fe59a6e97cf6c69574.tar.gz |
Adds key binding for expanding and collapsing folders in list view
https://bugzilla.gnome.org/show_bug.cgi?id=504869
-rw-r--r-- | src/file-manager/fm-list-view.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/src/file-manager/fm-list-view.c b/src/file-manager/fm-list-view.c index a0f5d5b91..724461e64 100644 --- a/src/file-manager/fm-list-view.c +++ b/src/file-manager/fm-list-view.c @@ -982,6 +982,10 @@ key_press_callback (GtkWidget *widget, GdkEventKey *event, gpointer callback_dat FMDirectoryView *view; GdkEventButton button_event = { 0 }; gboolean handled; + GtkTreeView *tree_view; + GtkTreePath *path; + + tree_view = GTK_TREE_VIEW (widget); view = FM_DIRECTORY_VIEW (callback_data); handled = FALSE; @@ -993,6 +997,22 @@ key_press_callback (GtkWidget *widget, GdkEventKey *event, gpointer callback_dat handled = TRUE; } break; + case GDK_Right: + gtk_tree_view_get_cursor (tree_view, &path, NULL); + if (path) { + gtk_tree_view_expand_row (tree_view, path, FALSE); + gtk_tree_path_free (path); + } + handled = TRUE; + break; + case GDK_Left: + gtk_tree_view_get_cursor (tree_view, &path, NULL); + if (path) { + gtk_tree_view_collapse_row (tree_view, path); + gtk_tree_path_free (path); + } + handled = TRUE; + break; case GDK_space: if (event->state & GDK_CONTROL_MASK) { handled = FALSE; |