[gnome-software] Grab the focus to the scrolled windows on the page



commit 180f70a5e32c336ca657eb477d1f6851b467ae96
Author: Matthias Clasen <mclasen redhat com>
Date:   Sat Aug 31 18:32:42 2013 -0400

    Grab the focus to the scrolled windows on the page
    
    This makes page up/down work when you get to the page.
    Also, scroll the overview back to the top every time.

 src/gs-shell-installed.c |    5 ++++-
 src/gs-shell-overview.c  |    8 ++++++++
 2 files changed, 12 insertions(+), 1 deletions(-)
---
diff --git a/src/gs-shell-installed.c b/src/gs-shell-installed.c
index 2226f17..1ef238e 100644
--- a/src/gs-shell-installed.c
+++ b/src/gs-shell-installed.c
@@ -354,9 +354,12 @@ gs_shell_installed_refresh (GsShellInstalled *shell_installed)
         resort_list (shell_installed);
 
         /* scroll to top */
-        adj = gtk_scrolled_window_get_vadjustment (GTK_SCROLLED_WINDOW (gtk_builder_get_object 
(priv->builder, "scrolledwindow_install")));
+        widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "scrolledwindow_install"));
+        adj = gtk_scrolled_window_get_vadjustment (GTK_SCROLLED_WINDOW (widget));
         gtk_adjustment_set_value (adj, gtk_adjustment_get_lower (adj));
 
+        gs_grab_focus_when_mapped (widget);
+
        /* no need to refresh */
        if (priv->cache_valid)
                return;
diff --git a/src/gs-shell-overview.c b/src/gs-shell-overview.c
index 31e0a45..a418a72 100644
--- a/src/gs-shell-overview.c
+++ b/src/gs-shell-overview.c
@@ -28,6 +28,7 @@
 #include "gs-app.h"
 #include "gs-category.h"
 #include "gs-app-widget.h"
+#include "gs-utils.h"
 
 static void    gs_shell_overview_finalize      (GObject        *object);
 
@@ -284,6 +285,7 @@ gs_shell_overview_refresh (GsShellOverview *shell_overview)
        GsShellOverviewPrivate *priv = shell_overview->priv;
        GtkWidget *widget;
        GtkWidget *grid;
+        GtkAdjustment *adj;
 
         widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "buttonbox_main"));
         gtk_widget_show (widget);
@@ -292,6 +294,12 @@ gs_shell_overview_refresh (GsShellOverview *shell_overview)
        widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "entry_search"));
         gtk_entry_set_text (GTK_ENTRY (widget), "");
 
+       widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "scrolledwindow_overview"));
+        adj = gtk_scrolled_window_get_vadjustment (GTK_SCROLLED_WINDOW (widget));
+        gtk_adjustment_set_value (adj, gtk_adjustment_get_lower (adj));
+
+        gs_grab_focus_when_mapped (widget);
+
        /* no need to refresh */
        if (priv->cache_valid)
                return;


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