diff --git a/panels/user-accounts/data/user-accounts-dialog.ui b/panels/user-accounts/data/user-accounts-dialog.ui index 534cc17bd..23a4dc676 100644 --- a/panels/user-accounts/data/user-accounts-dialog.ui +++ b/panels/user-accounts/data/user-accounts-dialog.ui @@ -129,34 +129,9 @@ False 10 - + True - False - False True - - - True - 0 - - - - - True - True - True - none - - - True - 0 - - - - - 1 - - 1 diff --git a/panels/user-accounts/um-fingerprint-dialog.c b/panels/user-accounts/um-fingerprint-dialog.c index e73e21b23..04e96b353 100644 --- a/panels/user-accounts/um-fingerprint-dialog.c +++ b/panels/user-accounts/um-fingerprint-dialog.c @@ -22,6 +22,8 @@ #include #include +#include "um-editable-button.h" + #include "um-fingerprint-dialog.h" #include "fingerprint-strings.h" @@ -46,8 +48,7 @@ enum { }; typedef struct { - GtkWidget *label1; - GtkWidget *label2; + GtkWidget *editable_button; GtkWidget *ass; GtkBuilder *dialog; @@ -175,8 +176,7 @@ get_error_dialog (const char *title, } gboolean -set_fingerprint_label (GtkWidget *label1, - GtkWidget *label2) +set_fingerprint_label (GtkWidget *editable_button) { GDBusProxy *device; GVariant *result; @@ -210,12 +210,10 @@ set_fingerprint_label (GtkWidget *label1, if (fingers == NULL || g_variant_iter_n_children (fingers) == 0) { is_disable = FALSE; - gtk_label_set_text (GTK_LABEL (label1), _("Disabled")); - gtk_label_set_text (GTK_LABEL (label2), _("Disabled")); + um_editable_button_set_text (UM_EDITABLE_BUTTON (editable_button), _("Disabled")); } else { is_disable = TRUE; - gtk_label_set_text (GTK_LABEL (label1), _("Enabled")); - gtk_label_set_text (GTK_LABEL (label2), _("Enabled")); + um_editable_button_set_text (UM_EDITABLE_BUTTON (editable_button), _("Enabled")); } if (result != NULL) @@ -252,8 +250,7 @@ delete_fingerprints (void) static void delete_fingerprints_question (GtkWindow *parent, - GtkWidget *label1, - GtkWidget *label2, + GtkWidget *editable_button, ActUser *user) { GtkWidget *question; @@ -281,7 +278,7 @@ delete_fingerprints_question (GtkWindow *parent, if (gtk_dialog_run (GTK_DIALOG (question)) == GTK_RESPONSE_OK) { delete_fingerprints (); - set_fingerprint_label (label1, label2); + set_fingerprint_label (editable_button); } gtk_widget_destroy (question); @@ -423,13 +420,8 @@ finger_combobox_changed (GtkComboBox *combobox, EnrollData *data) static void assistant_cancelled (GtkAssistant *ass, EnrollData *data) { - GtkWidget *label1, *label2; - - label1 = data->label1; - label2 = data->label2; - enroll_data_destroy (data); - set_fingerprint_label (label1, label2); + set_fingerprint_label (data->editable_button); } static void @@ -619,8 +611,7 @@ assistant_prepare (GtkAssistant *ass, GtkWidget *page, EnrollData *data) static void enroll_fingerprints (GtkWindow *parent, - GtkWidget *label1, - GtkWidget *label2, + GtkWidget *editable_button, ActUser *user) { GDBusProxy *device; @@ -654,8 +645,7 @@ enroll_fingerprints (GtkWindow *parent, data = g_new0 (EnrollData, 1); data->device = device; - data->label1 = label1; - data->label2 = label2; + data->editable_button = editable_button; /* Get some details about the device */ result = g_dbus_connection_call_sync (connection, @@ -755,17 +745,16 @@ enroll_fingerprints (GtkWindow *parent, void fingerprint_button_clicked (GtkWindow *parent, - GtkWidget *label1, - GtkWidget *label2, + GtkWidget *editable_button, ActUser *user) { bindtextdomain ("fprintd", GNOMELOCALEDIR); bind_textdomain_codeset ("fprintd", "UTF-8"); if (is_disable != FALSE) { - delete_fingerprints_question (parent, label1, label2, user); + delete_fingerprints_question (parent, editable_button, user); } else { - enroll_fingerprints (parent, label1, label2, user); + enroll_fingerprints (parent, editable_button, user); } } diff --git a/panels/user-accounts/um-fingerprint-dialog.h b/panels/user-accounts/um-fingerprint-dialog.h index e1414fefb..7028aa14e 100644 --- a/panels/user-accounts/um-fingerprint-dialog.h +++ b/panels/user-accounts/um-fingerprint-dialog.h @@ -18,9 +18,7 @@ #include #include -gboolean set_fingerprint_label (GtkWidget *label1, - GtkWidget *label2); +gboolean set_fingerprint_label (GtkWidget *editable_button); void fingerprint_button_clicked (GtkWindow *parent, - GtkWidget *label1, - GtkWidget *label2, + GtkWidget *editable_button, ActUser *user); diff --git a/panels/user-accounts/um-user-panel.c b/panels/user-accounts/um-user-panel.c index d304101b1..2e3b51669 100644 --- a/panels/user-accounts/um-user-panel.c +++ b/panels/user-accounts/um-user-panel.c @@ -664,8 +664,6 @@ show_user (ActUser *user, CcUserPanelPrivate *d) { GtkWidget *image; GtkWidget *label; - GtkWidget *label2; - GtkWidget *label3; GdkPixbuf *pixbuf; gchar *lang, *text; GtkWidget *widget; @@ -717,13 +715,11 @@ show_user (ActUser *user, CcUserPanelPrivate *d) g_free (lang); /* Fingerprint: show when self, possible, and local account */ - widget = get_widget (d, "account-fingerprint-notebook"); + widget = get_widget (d, "account-fingerprint-button"); label = get_widget (d, "account-fingerprint-label"); - label2 = get_widget (d, "account-fingerprint-value-label"); - label3 = get_widget (d, "account-fingerprint-button-label"); show = (act_user_get_uid (user) == getuid() && act_user_is_local_account (user) && - set_fingerprint_label (label2, label3)); + set_fingerprint_label (widget)); gtk_widget_set_visible (label, show); gtk_widget_set_visible (widget, show); @@ -979,16 +975,15 @@ change_password (GtkButton *button, CcUserPanelPrivate *d) static void change_fingerprint (GtkButton *button, CcUserPanelPrivate *d) { - GtkWidget *label, *label2; + GtkWidget *widget; ActUser *user; user = get_selected_user (d); g_assert (g_strcmp0 (g_get_user_name (), act_user_get_user_name (user)) == 0); - label = get_widget (d, "account-fingerprint-value-label"); - label2 = get_widget (d, "account-fingerprint-button-label"); - fingerprint_button_clicked (GTK_WINDOW (gtk_widget_get_toplevel (d->main_box)), label, label2, user); + widget = get_widget (d, "account-fingerprint-button"); + fingerprint_button_clicked (GTK_WINDOW (gtk_widget_get_toplevel (d->main_box)), widget, user); g_object_unref (user); } @@ -1242,7 +1237,8 @@ on_permission_changed (GPermission *permission, um_editable_button_set_editable (UM_EDITABLE_BUTTON (get_widget (d, "account-password-button")), TRUE); remove_unlock_tooltip (get_widget (d, "account-password-button")); - gtk_notebook_set_current_page (GTK_NOTEBOOK (get_widget (d, "account-fingerprint-notebook")), 1); + um_editable_button_set_editable (UM_EDITABLE_BUTTON (get_widget (d, "account-fingerprint-button")), TRUE); + remove_unlock_tooltip (get_widget (d, "account-fingerprint-button")); } else { gtk_widget_hide (get_widget (d, "user-icon-button")); @@ -1254,7 +1250,8 @@ on_permission_changed (GPermission *permission, um_editable_button_set_editable (UM_EDITABLE_BUTTON (get_widget (d, "account-password-button")), FALSE); add_unlock_tooltip (get_widget (d, "account-password-button")); - gtk_notebook_set_current_page (GTK_NOTEBOOK (get_widget (d, "account-fingerprint-notebook")), 0); + um_editable_button_set_editable (UM_EDITABLE_BUTTON (get_widget (d, "account-fingerprint-button")), FALSE); + add_unlock_tooltip (get_widget (d, "account-fingerprint-button")); } um_password_dialog_set_user (d->password_dialog, user); @@ -1447,7 +1444,7 @@ setup_main_window (CcUserPanelPrivate *d) g_signal_connect (button, "notify::active", G_CALLBACK (autologin_changed), d); button = get_widget (d, "account-fingerprint-button"); - g_signal_connect (button, "clicked", + g_signal_connect (button, "start-editing", G_CALLBACK (change_fingerprint), d); button = get_widget (d, "last-login-history-button");