[gnome-software] trivial: Grab focus when pressing ctrl+f for search



commit 31a295e1181072533c1e612c835f102806a52b99
Author: Richard Hughes <richard hughsie com>
Date:   Wed Oct 12 13:54:39 2016 +0100

    trivial: Grab focus when pressing ctrl+f for search

 src/gs-shell.c |   12 ++++++++----
 1 files changed, 8 insertions(+), 4 deletions(-)
---
diff --git a/src/gs-shell.c b/src/gs-shell.c
index dc4c470..1b7a51c 100644
--- a/src/gs-shell.c
+++ b/src/gs-shell.c
@@ -541,20 +541,24 @@ static gboolean
 window_keypress_handler (GtkWidget *window, GdkEvent *event, GsShell *shell)
 {
        GsShellPrivate *priv = gs_shell_get_instance_private (shell);
-       GtkWidget *widget;
-       widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "search_bar"));
+       GtkWidget *w;
 
        /* handle ctrl+f shortcut */
        if (event->type == GDK_KEY_PRESS) {
                GdkEventKey *e = (GdkEventKey *) event;
                if ((e->state & GDK_CONTROL_MASK) > 0 &&
                    e->keyval == GDK_KEY_f) {
-                       gtk_search_bar_set_search_mode (GTK_SEARCH_BAR (widget), TRUE);
+                       w = GTK_WIDGET (gtk_builder_get_object (priv->builder, "search_bar"));
+                       gtk_search_bar_set_search_mode (GTK_SEARCH_BAR (w), TRUE);
+                       w = GTK_WIDGET (gtk_builder_get_object (priv->builder, "entry_search"));
+                       gtk_widget_grab_focus (w);
                        return GDK_EVENT_PROPAGATE;
                }
        }
 
-       return gtk_search_bar_handle_event (GTK_SEARCH_BAR (widget), event);
+       /* pass to search bar */
+       w = GTK_WIDGET (gtk_builder_get_object (priv->builder, "search_bar"));
+       return gtk_search_bar_handle_event (GTK_SEARCH_BAR (w), event);
 }
 
 static void


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]