[gnome-software] Drop the waiting page



commit de004fbac1e07ed26f09af859d4713540fda99b6
Author: Matthias Clasen <mclasen redhat com>
Date:   Thu Aug 22 21:49:01 2013 -0400

    Drop the waiting page
    
    This is not used anymore, now that we show the waiting status
    in the header.

 src/gnome-software.ui    |   52 ---------------------------------------
 src/gs-shell-installed.c |   22 ++++++++++------
 src/gs-shell.c           |   60 ++++++++++++---------------------------------
 src/gs-shell.h           |    1 -
 4 files changed, 30 insertions(+), 105 deletions(-)
---
diff --git a/src/gnome-software.ui b/src/gnome-software.ui
index 4f0d640..62876cd 100644
--- a/src/gnome-software.ui
+++ b/src/gnome-software.ui
@@ -596,58 +596,6 @@
               </object>
             </child>
             <child>
-              <object class="GtkScrolledWindow" id="scrolledwindow2">
-                <property name="visible">True</property>
-                <property name="shadow_type">in</property>
-                <child>
-                  <object class="GtkViewport" id="viewport2">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                    <child>
-                      <object class="GtkBox" id="box_waiting">
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <property name="margin_top">48</property>
-                        <property name="orientation">vertical</property>
-                        <child>
-                          <object class="GtkSpinner" id="spinner_waiting">
-                            <property name="width_request">48</property>
-                            <property name="height_request">48</property>
-                            <property name="visible">True</property>
-                            <property name="can_focus">False</property>
-                          </object>
-                          <packing>
-                            <property name="expand">False</property>
-                            <property name="fill">True</property>
-                            <property name="position">0</property>
-                          </packing>
-                        </child>
-                        <child>
-                          <object class="GtkLabel" id="label_waiting">
-                            <property name="visible">True</property>
-                            <property name="can_focus">False</property>
-                            <property name="label">Waiting for something</property>
-                          </object>
-                          <packing>
-                            <property name="expand">False</property>
-                            <property name="fill">True</property>
-                            <property name="position">1</property>
-                          </packing>
-                        </child>
-                      </object>
-                    </child>
-                  </object>
-                </child>
-              </object>
-            </child>
-            <child type="tab">
-              <object class="GtkLabel" id="label8">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <property name="label">Waiting</property>
-              </object>
-            </child>
-            <child>
               <object class="GtkGrid" id="grid2">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
diff --git a/src/gs-shell-installed.c b/src/gs-shell-installed.c
index 113ac16..3310490 100644
--- a/src/gs-shell-installed.c
+++ b/src/gs-shell-installed.c
@@ -40,6 +40,7 @@ struct GsShellInstalledPrivate
        GtkSizeGroup            *sizegroup_image;
        GtkSizeGroup            *sizegroup_name;
        gboolean                 cache_valid;
+       gboolean                 waiting;
 };
 
 G_DEFINE_TYPE (GsShellInstalled, gs_shell_installed, G_TYPE_OBJECT)
@@ -243,12 +244,15 @@ gs_shell_installed_get_installed_cb (GObject *source_object,
        GsPluginLoader *plugin_loader = GS_PLUGIN_LOADER (source_object);
        GtkWidget *widget;
 
-        widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "spinner_wait"));
+        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);
 
+        priv->waiting = FALSE;
+        priv->cache_valid = TRUE;
+
        list = gs_plugin_loader_get_installed_finish (plugin_loader,
                                                      res,
                                                      &error);
@@ -275,8 +279,7 @@ gs_shell_installed_get_installed_cb (GObject *source_object,
        /* focus back to the text extry */
        widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "entry_search"));
        gtk_widget_grab_focus (widget);
-out:
-       return;
+out: ;
 }
 
 /**
@@ -293,21 +296,24 @@ gs_shell_installed_refresh (GsShellInstalled *shell_installed,
        if (priv->cache_valid)
                return;
 
-       /* remove old entries */
-       _gtk_container_remove_all (GTK_CONTAINER (priv->list_box_installed));
-
-        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);
 
+        if (priv->waiting)
+                return;
+
+       /* remove old entries */
+       _gtk_container_remove_all (GTK_CONTAINER (priv->list_box_installed));
+
        /* get popular apps */
        gs_plugin_loader_get_installed_async (priv->plugin_loader,
                                              cancellable,
                                              gs_shell_installed_get_installed_cb,
                                              shell_installed);
-       priv->cache_valid = TRUE;
+       priv->waiting = TRUE;
 }
 
 /**
diff --git a/src/gs-shell.c b/src/gs-shell.c
index aa3da36..4eeeaea 100644
--- a/src/gs-shell.c
+++ b/src/gs-shell.c
@@ -63,20 +63,6 @@ gs_shell_activate (GsShell *shell)
        gtk_window_present (window);
 }
 
-#if 0
-/**
- * gs_shell_show_waiting_tab_cb:
- **/
-static gboolean
-gs_shell_show_waiting_tab_cb (gpointer user_data)
-{
-       GsShell *shell = (GsShell *) user_data;
-       gs_shell_set_overview_mode_ui (shell, GS_SHELL_MODE_WAITING, NULL);
-       priv->waiting_tab_id = 0;
-       return FALSE;
-}
-#endif
-
 /**
  * gs_shell_set_overview_mode_ui:
  **/
@@ -89,21 +75,30 @@ gs_shell_set_overview_mode_ui (GsShell *shell, GsShellMode mode, GsApp *app)
 
        priv->ignore_primary_buttons = TRUE;
 
+        /* hide all mode specific header widgets here, they will be shown in the
+         * refresh functions
+         */
+       widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "button_update_all"));
+       gtk_widget_set_visible (widget, FALSE);
+       widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "button_install"));
+       gtk_widget_set_visible (widget, FALSE);
+       widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "button_remove"));
+       gtk_widget_set_visible (widget, FALSE);
+       widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "header_spinner"));
+       gtk_widget_set_visible (widget, FALSE);
+       widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "button_wait"));
+       gtk_widget_set_visible (widget, FALSE);
+
        switch (mode) {
        case GS_SHELL_MODE_OVERVIEW:
        case GS_SHELL_MODE_INSTALLED:
        case GS_SHELL_MODE_UPDATES:
-       case GS_SHELL_MODE_WAITING:
                widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "buttonbox_main"));
                gtk_widget_set_visible (widget, TRUE);
-               widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "button_back"));
-               gtk_widget_set_visible (widget, FALSE);
-               widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "button_install"));
-               gtk_widget_set_visible (widget, FALSE);
-               widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "button_remove"));
-               gtk_widget_set_visible (widget, FALSE);
                widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "application_details_header"));
                gtk_widget_set_visible (widget, FALSE);
+               widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "button_back"));
+               gtk_widget_set_visible (widget, FALSE);
                break;
 
        case GS_SHELL_MODE_DETAILS:
@@ -145,51 +140,30 @@ gs_shell_set_overview_mode_ui (GsShell *shell, GsShellMode mode, GsApp *app)
        gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (widget), mode == GS_SHELL_MODE_UPDATES);
        priv->ignore_primary_buttons = FALSE;
 
-       widget = NULL;
-
        switch (mode) {
        case GS_SHELL_MODE_OVERVIEW:
-               widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "button_update_all"));
-               gtk_widget_hide (widget);
 #ifdef SEARCH
                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, "search_bar"));
                gtk_widget_show (widget);
 #endif
-               widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "spinner_waiting"));
-               gtk_spinner_stop (GTK_SPINNER (widget));
                break;
 
        case GS_SHELL_MODE_INSTALLED:
-               widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "button_update_all"));
-               gtk_widget_hide (widget);
 #ifdef SEARCH
                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, "search_bar"));
                gtk_widget_show (widget);
 #endif
-               widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "spinner_waiting"));
-               gtk_spinner_stop (GTK_SPINNER (widget));
                break;
 
        case GS_SHELL_MODE_UPDATES:
-               widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "button_update_all"));
-               gtk_widget_show (widget);
 #ifdef SEARCH
                widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "search_bar"));
                gtk_widget_hide (widget);
 #endif
-               widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "spinner_waiting"));
-               gtk_spinner_stop (GTK_SPINNER (widget));
-               break;
-
-       case GS_SHELL_MODE_WAITING:
-               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, "spinner_waiting"));
-               gtk_spinner_start (GTK_SPINNER (widget));
                break;
 
        case GS_SHELL_MODE_DETAILS:
@@ -234,8 +208,6 @@ gs_shell_set_overview_mode (GsShell *shell, GsShellMode mode, GsApp *app, const
        case GS_SHELL_MODE_UPDATES:
                gs_shell_updates_refresh (priv->shell_updates, priv->cancellable);
                break;
-       case GS_SHELL_MODE_WAITING:
-               break;
        case GS_SHELL_MODE_DETAILS:
                tmp = gs_app_get_name (app);
                widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "application_details_title"));
diff --git a/src/gs-shell.h b/src/gs-shell.h
index df07f6d..3847c3a 100644
--- a/src/gs-shell.h
+++ b/src/gs-shell.h
@@ -53,7 +53,6 @@ typedef enum {
        GS_SHELL_MODE_OVERVIEW,
        GS_SHELL_MODE_INSTALLED,
        GS_SHELL_MODE_UPDATES,
-       GS_SHELL_MODE_WAITING,
        GS_SHELL_MODE_DETAILS,
        GS_SHELL_MODE_CATEGORY
 } GsShellMode;


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