[gnome-control-center] user-accounts: replace fingerprint widgets by the UmEditableButton
- From: Ondrej Holy <oholy src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-control-center] user-accounts: replace fingerprint widgets by the UmEditableButton
- Date: Fri, 5 Sep 2014 11:13:39 +0000 (UTC)
commit c218a2198e12ac2c52e15f230cf40890568ed89b
Author: Ondrej Holy <oholy redhat com>
Date: Thu Aug 28 09:47:41 2014 +0200
user-accounts: replace fingerprint widgets by the UmEditableButton
The patch fixes also a wrong padding and replaces GtkNotebook.
https://bugzilla.gnome.org/show_bug.cgi?id=736009
panels/user-accounts/data/user-accounts-dialog.ui | 27 +--------------
panels/user-accounts/um-fingerprint-dialog.c | 39 +++++++-------------
panels/user-accounts/um-fingerprint-dialog.h | 6 +--
panels/user-accounts/um-user-panel.c | 23 +++++-------
4 files changed, 27 insertions(+), 68 deletions(-)
---
diff --git a/panels/user-accounts/data/user-accounts-dialog.ui
b/panels/user-accounts/data/user-accounts-dialog.ui
index 534cc17..23a4dc6 100644
--- a/panels/user-accounts/data/user-accounts-dialog.ui
+++ b/panels/user-accounts/data/user-accounts-dialog.ui
@@ -129,34 +129,9 @@
<property name="can_focus">False</property>
<property name="column_spacing">10</property>
<child>
- <object class="GtkNotebook" id="account-fingerprint-notebook">
+ <object class="UmEditableButton" id="account-fingerprint-button">
<property name="visible">True</property>
- <property name="show_tabs">False</property>
- <property name="show_border">False</property>
<property name="hexpand">True</property>
- <child>
- <object class="GtkLabel" id="account-fingerprint-value-label">
- <property name="visible">True</property>
- <property name="xalign">0</property>
- </object>
- </child>
- <child>
- <object class="GtkButton" id="account-fingerprint-button">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="relief">none</property>
- <child>
- <object class="GtkLabel" id="account-fingerprint-button-label">
- <property name="visible">True</property>
- <property name="xalign">0</property>
- </object>
- </child>
- </object>
- <packing>
- <property name="position">1</property>
- </packing>
- </child>
</object>
<packing>
<property name="left_attach">1</property>
diff --git a/panels/user-accounts/um-fingerprint-dialog.c b/panels/user-accounts/um-fingerprint-dialog.c
index e73e21b..04e96b3 100644
--- a/panels/user-accounts/um-fingerprint-dialog.c
+++ b/panels/user-accounts/um-fingerprint-dialog.c
@@ -22,6 +22,8 @@
#include <gio/gio.h>
#include <gtk/gtk.h>
+#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 e1414fe..7028aa1 100644
--- a/panels/user-accounts/um-fingerprint-dialog.h
+++ b/panels/user-accounts/um-fingerprint-dialog.h
@@ -18,9 +18,7 @@
#include <gtk/gtk.h>
#include <act/act.h>
-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 d304101..2e3b516 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");
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]