[gnome-keyring] gcr: Fixes for the import button and viewer widget



commit 137f0ddfd3d4f0bea59a90d90acb796f3e3010f8
Author: Stef Walter <stefw collabora co uk>
Date:   Thu Sep 22 21:25:59 2011 +0200

    gcr: Fixes for the import button and viewer widget
    
     * Update the button before anything queued.
     * Fix viewer widget arguments

 gcr/gcr-import-button.c |  120 ++++++++++++++++++++++++-----------------------
 gcr/gcr-viewer-widget.c |    2 +-
 gcr/gcr-viewer-widget.h |    2 +-
 3 files changed, 63 insertions(+), 61 deletions(-)
---
diff --git a/gcr/gcr-import-button.c b/gcr/gcr-import-button.c
index 15bd961..253ba54 100644
--- a/gcr/gcr-import-button.c
+++ b/gcr/gcr-import-button.c
@@ -91,6 +91,65 @@ gcr_import_button_init (GcrImportButton *self)
 }
 
 static void
+update_import_button (GcrImportButton *self)
+{
+	gchar *message;
+	gchar *label;
+
+	/* Importing, set a spinner */
+	if (self->pv->importing) {
+		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), _("Import is in progress..."));
+
+	} else if (self->pv->imported) {
+		gtk_widget_hide (self->pv->spinner);
+		gtk_widget_hide (self->pv->arrow);
+		gtk_widget_set_sensitive (GTK_WIDGET (self), FALSE);
+		message = g_strdup_printf (_("Imported to: %s"), self->pv->imported);
+		gtk_widget_set_tooltip_text (GTK_WIDGET (self), message);
+		g_free (message);
+
+	/* 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);
+
+		/* 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 */
+	} else if (self->pv->created) {
+		gtk_widget_hide (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), _("Cannot import because there are no compatible importers"));
+
+	/* No importers yet added */
+	} else {
+		gtk_widget_hide (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), _("No data to import"));
+	}
+}
+
+static void
 gcr_import_button_constructed (GObject *obj)
 {
 	GcrImportButton *self = GCR_IMPORT_BUTTON (obj);
@@ -114,6 +173,8 @@ gcr_import_button_constructed (GObject *obj)
 	gtk_widget_show (grid);
 
 	gtk_container_add (GTK_CONTAINER (self), grid);
+
+	update_import_button (self);
 }
 
 static void
@@ -177,65 +238,6 @@ gcr_import_button_finalize (GObject *obj)
 }
 
 static void
-update_import_button (GcrImportButton *self)
-{
-	gchar *message;
-	gchar *label;
-
-	/* Importing, set a spinner */
-	if (self->pv->importing) {
-		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), _("Import is in progress..."));
-
-	} else if (self->pv->imported) {
-		gtk_widget_hide (self->pv->spinner);
-		gtk_widget_hide (self->pv->arrow);
-		gtk_widget_set_sensitive (GTK_WIDGET (self), FALSE);
-		message = g_strdup_printf (_("Imported to: %s"), self->pv->imported);
-		gtk_widget_set_tooltip_text (GTK_WIDGET (self), message);
-		g_free (message);
-
-	/* 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);
-
-		/* 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 */
-	} else if (self->pv->created) {
-		gtk_widget_hide (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), _("Cannot import because there are no compatible importers"));
-
-	/* No importers yet added */
-	} else {
-		gtk_widget_hide (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), _("No data to import"));
-	}
-}
-
-static void
 on_import_complete (GObject *importer,
                     GAsyncResult *result,
                     gpointer user_data)
diff --git a/gcr/gcr-viewer-widget.c b/gcr/gcr-viewer-widget.c
index a4bf8c6..5db8b62 100644
--- a/gcr/gcr-viewer-widget.c
+++ b/gcr/gcr-viewer-widget.c
@@ -416,7 +416,7 @@ gcr_viewer_widget_load_file (GcrViewerWidget *self,
 void
 gcr_viewer_widget_load_data (GcrViewerWidget *self,
                              const gchar *display_name,
-                             gconstpointer *data,
+                             gconstpointer data,
                              gsize n_data)
 {
 	GError *error = NULL;
diff --git a/gcr/gcr-viewer-widget.h b/gcr/gcr-viewer-widget.h
index a4dbbb1..4e0b746 100644
--- a/gcr/gcr-viewer-widget.h
+++ b/gcr/gcr-viewer-widget.h
@@ -47,7 +47,7 @@ void               gcr_viewer_widget_load_file        (GcrViewerWidget *self,
 
 void               gcr_viewer_widget_load_data        (GcrViewerWidget *self,
                                                        const gchar *display_name,
-                                                       gconstpointer *data,
+                                                       gconstpointer data,
                                                        gsize n_data);
 
 #endif /* GCR_VIEWER_WIDGET_H */



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