gcr: Fix logic in GcrImportButton when unlocking is going on
authorStef Walter <stefw@collabora.co.uk>
Tue, 27 Sep 2011 15:32:48 +0000 (17:32 +0200)
committerStef Walter <stefw@collabora.co.uk>
Tue, 27 Sep 2011 15:32:48 +0000 (17:32 +0200)
 * Don't show the spinner when no importers are ready even though
   initializing

gcr/gcr-import-button.c

index 5eab5a9..ddec29c 100644 (file)
@@ -98,15 +98,8 @@ update_import_button (GcrImportButton *self)
        gchar *message;
        gchar *label;
 
-       /* Initializing, set a spinner */
-       if (!self->pv->ready) {
-               gtk_widget_show (self->pv->spinner);
-               gtk_widget_hide (self->pv->arrow);
-               gtk_widget_set_sensitive (GTK_WIDGET (self), FALSE);
-               gtk_widget_set_tooltip_text (GTK_WIDGET (self), _("Initializing..."));
-
        /* Importing, set a spinner */
-       } else if (self->pv->importing) {
+       if (self->pv->importing) {
                gtk_widget_show (self->pv->spinner);
                gtk_widget_hide (self->pv->arrow);
                gtk_widget_set_sensitive (GTK_WIDGET (self), FALSE);
@@ -122,22 +115,32 @@ update_import_button (GcrImportButton *self)
 
        /* Not importing, but have importers */
        } else if (self->pv->importers) {
-               gtk_widget_hide (self->pv->spinner);
-               gtk_widget_set_sensitive (GTK_WIDGET (self), TRUE);
 
-               /* More than one importer */
-               if (self->pv->importers->next) {
-                       gtk_widget_show (self->pv->arrow);
-                       gtk_widget_set_tooltip_text (GTK_WIDGET (self), NULL);
+               /* Initializing, set a spinner */
+               if (!self->pv->ready) {
+                       gtk_widget_show (self->pv->spinner);
+                       gtk_widget_hide (self->pv->arrow);
+                       gtk_widget_set_sensitive (GTK_WIDGET (self), FALSE);
+                       gtk_widget_set_tooltip_text (GTK_WIDGET (self), _("Initializing..."));
 
-               /* Only one importer */
                } else {
-                       gtk_widget_hide (self->pv->arrow);
-                       g_object_get (self->pv->importers->data, "label", &label, NULL);
-                       message = g_strdup_printf (_("Import to: %s"), label);
-                       gtk_widget_set_tooltip_text (GTK_WIDGET (self), message);
-                       g_free (message);
-                       g_free (label);
+                       gtk_widget_hide (self->pv->spinner);
+                       gtk_widget_set_sensitive (GTK_WIDGET (self), TRUE);
+
+                       /* More than one importer */
+                       if (self->pv->importers->next) {
+                               gtk_widget_show (self->pv->arrow);
+                               gtk_widget_set_tooltip_text (GTK_WIDGET (self), NULL);
+
+                       /* Only one importer */
+                       } else {
+                               gtk_widget_hide (self->pv->arrow);
+                               g_object_get (self->pv->importers->data, "label", &label, NULL);
+                               message = g_strdup_printf (_("Import to: %s"), label);
+                               gtk_widget_set_tooltip_text (GTK_WIDGET (self), message);
+                               g_free (message);
+                               g_free (label);
+                       }
                }
 
        /* No importers, none compatible */