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: