[gnome-control-center] user-accounts: Refactor password change handlers
- From: Ondrej Holy <oholy src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-control-center] user-accounts: Refactor password change handlers
- Date: Wed, 7 Nov 2018 10:17:42 +0000 (UTC)
commit 2f681139509dfe5df7719836f1a7dbbcf5379d33
Author: Robert Ancell <robert ancell canonical com>
Date: Wed Nov 7 09:21:57 2018 +1300
user-accounts: Refactor password change handlers
Split the signal handler into two to remove quirky behaviour of clearing
the validation ticks depending on which GtkEntry generated the event.
panels/user-accounts/um-password-dialog.c | 22 +++++++++++++++++-----
panels/user-accounts/um-password-dialog.ui | 2 +-
2 files changed, 18 insertions(+), 6 deletions(-)
---
diff --git a/panels/user-accounts/um-password-dialog.c b/panels/user-accounts/um-password-dialog.c
index 18a6a866e..0792cf05c 100644
--- a/panels/user-accounts/um-password-dialog.c
+++ b/panels/user-accounts/um-password-dialog.c
@@ -280,9 +280,7 @@ password_entry_timeout (UmPasswordDialog *um)
}
static void
-password_entry_changed (UmPasswordDialog *um,
- GParamSpec *pspec,
- GtkEntry *entry)
+recheck_password_match (UmPasswordDialog *um)
{
const gchar *password;
@@ -291,8 +289,6 @@ password_entry_changed (UmPasswordDialog *um,
um->password_entry_timeout_id = 0;
}
- clear_entry_validation_error (entry);
- clear_entry_validation_error (um->verify_entry);
gtk_widget_set_sensitive (GTK_WIDGET (um->ok_button), FALSE);
password = gtk_entry_get_text (um->password_entry);
@@ -305,6 +301,21 @@ password_entry_changed (UmPasswordDialog *um,
um);
}
+static void
+password_entry_changed (UmPasswordDialog *um)
+{
+ clear_entry_validation_error (um->password_entry);
+ clear_entry_validation_error (um->verify_entry);
+ recheck_password_match (um);
+}
+
+static void
+verify_entry_changed (UmPasswordDialog *um)
+{
+ clear_entry_validation_error (um->verify_entry);
+ recheck_password_match (um);
+}
+
static gboolean
password_entry_focus_out_cb (UmPasswordDialog *um)
{
@@ -464,6 +475,7 @@ um_password_dialog_class_init (UmPasswordDialogClass *klass)
gtk_widget_class_bind_template_callback (widget_class, password_entry_icon_press_cb);
gtk_widget_class_bind_template_callback (widget_class, password_entry_key_press_cb);
gtk_widget_class_bind_template_callback (widget_class, password_entry_timeout);
+ gtk_widget_class_bind_template_callback (widget_class, verify_entry_changed);
}
static void
diff --git a/panels/user-accounts/um-password-dialog.ui b/panels/user-accounts/um-password-dialog.ui
index eb3664236..299fa64a5 100644
--- a/panels/user-accounts/um-password-dialog.ui
+++ b/panels/user-accounts/um-password-dialog.ui
@@ -80,7 +80,7 @@
<property name="hexpand">True</property>
<property name="activates_default">True</property>
<property name="input_purpose">password</property>
- <signal name="notify::text" handler="password_entry_changed" object="UmPasswordDialog"
swapped="yes"/>
+ <signal name="notify::text" handler="verify_entry_changed" object="UmPasswordDialog"
swapped="yes"/>
<signal name="activate" handler="password_entry_timeout" object="UmPasswordDialog"
swapped="yes"/>
<signal name="focus-out-event" handler="password_entry_focus_out_cb" after="yes"
object="UmPasswordDialog" swapped="yes"/>
</object>
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]