From 847a545ad53543aca488d06ea942c7a3914176b8 Mon Sep 17 00:00:00 2001 From: Santhanam Date: Sun, 29 Sep 2024 00:18:55 +0530 Subject: [PATCH 1/2] trial: opening first result on Enter --- src/fsearch_window.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/fsearch_window.c b/src/fsearch_window.c index 70196a945..4a3b13a0c 100644 --- a/src/fsearch_window.c +++ b/src/fsearch_window.c @@ -885,6 +885,18 @@ on_search_entry_key_press_event(GtkWidget *widget, GdkEvent *event, gpointer use fsearch_list_view_set_cursor(win->result_view->list_view, cursor_idx); return TRUE; } + if (keyval == GDK_KEY_KP_Enter || keyval == GDK_KEY_Return || keyval == GDK_KEY_ISO_Enter) { + const gint cursor_idx = fsearch_list_view_get_cursor(win->result_view->list_view); + gtk_widget_grab_focus(GTK_WIDGET(win->result_view->list_view)); + fsearch_list_view_set_cursor(win->result_view->list_view, cursor_idx); + GActionGroup *group = G_ACTION_GROUP(win); + GAction *action = g_action_map_lookup_action(G_ACTION_MAP(group), "open"); + if (!action) + return FALSE; + g_simple_action_set_enabled(G_SIMPLE_ACTION(action), true); + g_action_group_activate_action(group, "open", NULL); + return TRUE; + } return FALSE; } From cae0e732f1c11d579d8aba4065c070624db8d6d5 Mon Sep 17 00:00:00 2001 From: Santhanam Date: Mon, 30 Sep 2024 00:58:45 +0530 Subject: [PATCH 2/2] trial 2: opening first result on Enter --- src/fsearch_window.c | 15 +++------------ 1 file changed, 3 insertions(+), 12 deletions(-) diff --git a/src/fsearch_window.c b/src/fsearch_window.c index 4a3b13a0c..afe5ebbec 100644 --- a/src/fsearch_window.c +++ b/src/fsearch_window.c @@ -885,18 +885,6 @@ on_search_entry_key_press_event(GtkWidget *widget, GdkEvent *event, gpointer use fsearch_list_view_set_cursor(win->result_view->list_view, cursor_idx); return TRUE; } - if (keyval == GDK_KEY_KP_Enter || keyval == GDK_KEY_Return || keyval == GDK_KEY_ISO_Enter) { - const gint cursor_idx = fsearch_list_view_get_cursor(win->result_view->list_view); - gtk_widget_grab_focus(GTK_WIDGET(win->result_view->list_view)); - fsearch_list_view_set_cursor(win->result_view->list_view, cursor_idx); - GActionGroup *group = G_ACTION_GROUP(win); - GAction *action = g_action_map_lookup_action(G_ACTION_MAP(group), "open"); - if (!action) - return FALSE; - g_simple_action_set_enabled(G_SIMPLE_ACTION(action), true); - g_action_group_activate_action(group, "open", NULL); - return TRUE; - } return FALSE; } @@ -910,6 +898,9 @@ on_search_entry_activate(GtkButton *widget, gpointer user_data) { if (db_view_get_num_entries(win->result_view->database_view) > 0) { if (db_view_get_num_selected(win->result_view->database_view) < 1) { db_view_select(win->result_view->database_view, 0); + fsearch_window_actions_update(win); + GActionGroup *group = G_ACTION_GROUP(win); + g_action_group_activate_action(group, "open", NULL); } gtk_widget_grab_focus(GTK_WIDGET(win->result_view->list_view)); }