[gnome-software] Move search closer to mockups



commit c6f6801ca725e70098b5e4f1786a5de7075834f3
Author: Matthias Clasen <mclasen redhat com>
Date:   Thu Aug 29 20:23:42 2013 -0400

    Move search closer to mockups
    
    Show the search bar also on the installed page, and move the
    search entry signal handler to a better place.

 src/gs-shell-installed.c |    4 ++++
 src/gs-shell-overview.c  |   27 ++-------------------------
 src/gs-shell-search.c    |    2 +-
 src/gs-shell.c           |   10 ++++++++++
 4 files changed, 17 insertions(+), 26 deletions(-)
---
diff --git a/src/gs-shell-installed.c b/src/gs-shell-installed.c
index e32001d..744db22 100644
--- a/src/gs-shell-installed.c
+++ b/src/gs-shell-installed.c
@@ -339,6 +339,10 @@ gs_shell_installed_refresh (GsShellInstalled *shell_installed)
 
         widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "buttonbox_main"));
         gtk_widget_show (widget);
+        widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "search_bar"));
+        gtk_widget_show (widget);
+        widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "entry_search"));
+        gtk_entry_set_text (GTK_ENTRY (widget), "");
 
         resort_list (shell_installed);
 
diff --git a/src/gs-shell-overview.c b/src/gs-shell-overview.c
index 6ce1889..07f0ba6 100644
--- a/src/gs-shell-overview.c
+++ b/src/gs-shell-overview.c
@@ -315,18 +315,13 @@ gs_shell_overview_refresh (GsShellOverview *shell_overview)
         gtk_widget_show (widget);
        widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "search_bar"));
        gtk_widget_show (widget);
+       widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "entry_search"));
+        gtk_entry_set_text (GTK_ENTRY (widget), "");
 
        /* no need to refresh */
        if (priv->cache_valid)
                return;
 
-       widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "search_bar"));
-       gtk_widget_show (widget);
-
-       /* clear search items */
-       widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "entry_search"));
-       gtk_entry_set_text (GTK_ENTRY (widget), "");
-
        grid = GTK_WIDGET (gtk_builder_get_object (priv->builder, "box_popular"));
        container_remove_all (GTK_CONTAINER (grid));
 
@@ -358,19 +353,6 @@ gs_shell_overview_refresh (GsShellOverview *shell_overview)
        priv->cache_valid = TRUE;
 }
 
-/**
- * gs_shell_overview_search_activated_cb:
- */
-static void
-gs_shell_overview_search_activated_cb (GtkEntry *entry, GsShellOverview *shell_overview)
-{
-       GsShellOverviewPrivate *priv = shell_overview->priv;
-       gs_shell_set_mode (priv->shell, GS_SHELL_MODE_SEARCH);
-}
-
-/**
- * gs_shell_overview_setup:
- */
 void
 gs_shell_overview_setup (GsShellOverview *shell_overview,
                          GsShell *shell,
@@ -379,7 +361,6 @@ gs_shell_overview_setup (GsShellOverview *shell_overview,
                         GCancellable *cancellable)
 {
        GsShellOverviewPrivate *priv = shell_overview->priv;
-       GtkWidget *widget;
 
        g_return_if_fail (GS_IS_SHELL_OVERVIEW (shell_overview));
 
@@ -387,10 +368,6 @@ gs_shell_overview_setup (GsShellOverview *shell_overview,
        priv->builder = g_object_ref (builder);
        priv->cancellable = g_object_ref (cancellable);
 
-       widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "entry_search"));
-       g_signal_connect (GTK_EDITABLE (widget), "activate",
-                         G_CALLBACK (gs_shell_overview_search_activated_cb), shell_overview);
-
         /* avoid a ref cycle */
         priv->shell = shell;
 }
diff --git a/src/gs-shell-search.c b/src/gs-shell-search.c
index dc9f6e2..0005a7c 100644
--- a/src/gs-shell-search.c
+++ b/src/gs-shell-search.c
@@ -472,7 +472,7 @@ gs_shell_search_setup (GsShellSearch *shell_search,
 
        /* refilter on search box changing */
        widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "entry_search"));
-       g_signal_connect (GTK_EDITABLE (widget), "changed",
+       g_signal_connect (GTK_EDITABLE (widget), "search-changed",
                          G_CALLBACK (gs_shell_search_filter_text_changed_cb), shell_search);
 
        /* setup search */
diff --git a/src/gs-shell.c b/src/gs-shell.c
index 3f7cf9d..bdd7185 100644
--- a/src/gs-shell.c
+++ b/src/gs-shell.c
@@ -176,6 +176,12 @@ initial_overview_load_done (GsShellOverview *shell_overview, gpointer data)
        gs_shell_installed_refresh (shell->priv->shell_installed);
 }
 
+static void
+gs_shell_search_activated_cb (GtkEntry *entry, GsShell *shell)
+{
+        gs_shell_set_mode (shell, GS_SHELL_MODE_SEARCH);
+}
+
 /**
  * gs_shell_setup:
  */
@@ -229,6 +235,10 @@ gs_shell_setup (GsShell *shell, GsPluginLoader *plugin_loader, GCancellable *can
        g_signal_connect (widget, "clicked",
                          G_CALLBACK (gs_shell_overview_button_cb), shell);
 
+        widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "entry_search"));
+        g_signal_connect (GTK_EDITABLE (widget), "activate",
+                          G_CALLBACK (gs_shell_search_activated_cb), shell);
+
        gs_shell_overview_setup (priv->shell_overview,
                                  shell,
                                 priv->plugin_loader,


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