[gnome-software] Forgotten file



commit 8d02455a515b12dd3d9b492cac69b41fbff32a0e
Author: Matthias Clasen <mclasen redhat com>
Date:   Thu Aug 22 21:49:26 2013 -0400

    Forgotten file

 src/gs-shell-updates.c |   26 ++++++++++++++++----------
 1 files changed, 16 insertions(+), 10 deletions(-)
---
diff --git a/src/gs-shell-updates.c b/src/gs-shell-updates.c
index 2c8e6c1..17d0475 100644
--- a/src/gs-shell-updates.c
+++ b/src/gs-shell-updates.c
@@ -39,6 +39,7 @@ struct GsShellUpdatesPrivate
        GtkBuilder              *builder;
        GtkListBox              *list_box_updates;
        gboolean                 cache_valid;
+       gboolean                 waiting;
 };
 
 enum {
@@ -96,13 +97,14 @@ gs_shell_updates_get_updates_cb (GsPluginLoader *plugin_loader,
        GtkWidget *widget;
         GtkWidget *notebook;
 
-        widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "spinner_wait"));
+        priv->waiting = FALSE;
+        priv->cache_valid = TRUE;
+
+        widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "header_spinner"));
         gtk_spinner_stop (GTK_SPINNER (widget));
         gtk_widget_hide (widget);
         widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "button_wait"));
         gtk_widget_hide (widget);
-        widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "button_update_all"));
-        gtk_widget_show (widget);
 
        /* get the results */
        list = gs_plugin_loader_get_updates_finish (plugin_loader, res, &error);
@@ -149,28 +151,32 @@ gs_shell_updates_refresh (GsShellUpdates *shell_updates, GCancellable *cancellab
         GtkWidget *widget;
 
        /* no need to refresh */
-       if (priv->cache_valid)
+       if (priv->cache_valid) {
+                widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "button_update_all"));
+                gtk_widget_show (widget);
                return;
+        }
 
-       _gtk_container_remove_all (GTK_CONTAINER (priv->list_box_updates));
-
-        widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "spinner_wait"));
+        widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "header_spinner"));
         gtk_spinner_start (GTK_SPINNER (widget));
         gtk_widget_show (widget);
         widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "button_wait"));
         gtk_widget_show (widget);
-        widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "button_update_all"));
-        gtk_widget_hide (widget);
        widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "box_updates_up_to_date"));
        gtk_widget_hide (widget);
        widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "scrolledwindow_updates"));
        gtk_widget_show (widget);
 
+        if (priv->waiting)
+                return;
+
+       _gtk_container_remove_all (GTK_CONTAINER (priv->list_box_updates));
+
        gs_plugin_loader_get_updates_async (priv->plugin_loader,
                                            cancellable,
                                            (GAsyncReadyCallback) gs_shell_updates_get_updates_cb,
                                            shell_updates);
-       priv->cache_valid = TRUE;
+       priv->waiting = TRUE;
 }
 
 /**


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