static void set_icon_name (CcWacomPage *page, const char *widget_name, const char *icon_name) { CcWacomPagePrivate *priv; char *resource; priv = page->priv; resource = g_strdup_printf ("/org/sagarmatha/control-center/wacom/%s.svg", icon_name); gtk_image_set_from_resource (GTK_IMAGE (WID (widget_name)), resource); g_free (resource); }
static void enroll_result (EnrollData *data, const char *result, gboolean done) { GtkBuilder *dialog = data->dialog; char *msg; if (g_str_equal (result, "enroll-completed") || g_str_equal (result, "enroll-stage-passed")) { char *name, *path; data->num_stages_done++; name = g_strdup_printf ("image%d", data->num_stages_done); path = g_strdup_printf ("/org/gnome/control-center/user-accounts/print_ok.png"); gtk_image_set_from_resource (GTK_IMAGE (WID (name)), path); g_free (name); g_free (path); } if (g_str_equal (result, "enroll-completed")) { gtk_label_set_text (GTK_LABEL (WID ("status-label")), _("Done!")); gtk_label_set_text (GTK_LABEL (WID("enroll-label")), ""); gtk_assistant_set_page_complete (GTK_ASSISTANT (data->ass), WID ("page2"), TRUE); } if (done != FALSE) { enroll_stop (data, NULL); data->state = STATE_CLAIMED; if (g_str_equal (result, "enroll-completed") == FALSE) { /* The enrollment failed, restart it */ enroll_start (data, NULL); data->state = STATE_ENROLLING; result = "enroll-retry-scan"; } else { return; } } msg = g_strdup_printf (TR(enroll_result_str_to_msg (result, data->is_swipe)), data->name); gtk_label_set_text (GTK_LABEL (WID ("status-label")), msg); g_free (msg); }
static void assistant_prepare (GtkAssistant *ass, GtkWidget *page, EnrollData *data) { const char *name; name = g_object_get_data (G_OBJECT (page), "name"); if (name == NULL) return; if (g_str_equal (name, "enroll")) { GError *error = NULL; GtkBuilder *dialog = data->dialog; char *path; guint i; GVariant *result; gint num_enroll_stages; if (!claim (data, &error)) { GtkWidget *d; char *msg; /* translators: * The variable is the name of the device, for example: * "Could you not access "Digital Persona U.are.U 4000/4000B" device */ msg = g_strdup_printf (_("Could not access '%s' device"), data->name); d = get_error_dialog (msg, error->message, GTK_WINDOW (data->ass)); g_error_free (error); gtk_dialog_run (GTK_DIALOG (d)); gtk_widget_destroy (d); g_free (msg); enroll_data_destroy (data); return; } data->state = STATE_CLAIMED; result = g_dbus_connection_call_sync (connection, "net.reactivated.Fprint", g_dbus_proxy_get_object_path (data->device), "org.freedesktop.DBus.Properties", "Get", g_variant_new ("(ss)", "net.reactivated.Fprint.Device", "num-enroll-stages"), G_VARIANT_TYPE ("(v)"), G_DBUS_CALL_FLAGS_NONE, -1, NULL, &error); num_enroll_stages = 0; if (result) { GVariant *v; g_variant_get (result, "(v)", &v); num_enroll_stages = g_variant_get_int32 (v); g_variant_unref (result); g_variant_unref (v); } if (num_enroll_stages < 1) { GtkWidget *d; char *msg; /* translators: * The variable is the name of the device, for example: * "Could you not access "Digital Persona U.are.U 4000/4000B" device */ msg = g_strdup_printf (_("Could not access '%s' device"), data->name); d = get_error_dialog (msg, "net.reactivated.Fprint.Error.Internal", GTK_WINDOW (data->ass)); gtk_dialog_run (GTK_DIALOG (d)); gtk_widget_destroy (d); g_free (msg); enroll_data_destroy (data); return; } data->num_enroll_stages = num_enroll_stages; /* Hide the extra "bulbs" if not needed */ for (i = MAX_ENROLL_STAGES; i > data->num_enroll_stages; i--) { char *name; name = g_strdup_printf ("image%d", i); gtk_widget_hide (WID (name)); g_free (name); } /* And set the right image */ { path = g_strdup_printf ("/org/gnome/control-center/user-accounts/%s.png", data->finger); } for (i = 1; i <= data->num_enroll_stages; i++) { char *name; name = g_strdup_printf ("image%d", i); gtk_image_set_from_resource (GTK_IMAGE (WID (name)), path); g_free (name); } g_free (path); g_signal_connect (data->device, "g-signal", G_CALLBACK (device_signal_cb), data); if (!enroll_start (data, &error)) { GtkWidget *d; char *msg; /* translators: * The variable is the name of the device, for example: * "Could you not access "Digital Persona U.are.U 4000/4000B" device */ msg = g_strdup_printf (_("Could not start finger capture on '%s' device"), data->name); d = get_error_dialog (msg, error->message, GTK_WINDOW (data->ass)); g_error_free (error); gtk_dialog_run (GTK_DIALOG (d)); gtk_widget_destroy (d); g_free (msg); enroll_data_destroy (data); return; } data->state = STATE_ENROLLING;; } else { if (data->state == STATE_ENROLLING) { enroll_stop (data, NULL); data->state = STATE_CLAIMED; } if (data->state == STATE_CLAIMED) { release (data, NULL); data->state = STATE_NONE; } } }