From 31cda0eebd7a834d12c57bc42c07b30d0ac5f9b4 Mon Sep 17 00:00:00 2001 From: Anna Schumaker Date: Tue, 29 Aug 2017 15:14:05 -0400 Subject: [PATCH] gui/sidebar: Add a function for selecting paths Normally GTK will take care of this, but we'll need it for the right-click menu so we might as well implement it. Signed-off-by: Anna Schumaker --- gui/sidebar.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/gui/sidebar.c b/gui/sidebar.c index 44bbb36b..af9b38da 100644 --- a/gui/sidebar.c +++ b/gui/sidebar.c @@ -169,6 +169,18 @@ bool __gui_sidebar_rename(GtkMenuItem *item, gpointer data) return path != NULL; } +bool __gui_sidebar_select(GtkMenuItem *item, gpointer data) +{ + GtkTreeView *treeview = gui_sidebar_treeview(); + GtkTreePath *path = __gui_sidebar_current_path(); + + if (path) { + gtk_tree_view_row_activated(treeview, path, NULL); + gtk_tree_path_free(path); + } + return path != NULL; +} + bool __gui_sidebar_delete(GtkMenuItem *item, gpointer data) { GtkTreeIter iter; @@ -186,6 +198,8 @@ bool __gui_sidebar_keypress(GtkTreeView *treeview, GdkEventKey *event, switch (event->keyval) { case GDK_KEY_BackSpace: return __gui_sidebar_rename(NULL, NULL); + case GDK_KEY_Return: + return __gui_sidebar_select(NULL, NULL); case GDK_KEY_Delete: return __gui_sidebar_delete(NULL, NULL); default: