diff options
author | Robert Ancell <robert.ancell@canonical.com> | 2018-07-10 15:18:43 +0200 |
---|---|---|
committer | Robert Ancell <robert.ancell@canonical.com> | 2018-07-11 16:19:54 +0200 |
commit | 5e91cc714065b5b1df69825043b5293bae5d7072 (patch) | |
tree | b66cbf3edc4069f1ae46afda2e9fc6770e492920 | |
parent | 525adcf10b3a0b40b691ee84bef331a499d26ef7 (diff) | |
download | gnome-control-center-5e91cc714065b5b1df69825043b5293bae5d7072.tar.gz |
user-accounts: Correctly hide password mismatch warnings
The logic for the password mismatch warnings didn't handle the case where
you deleted both the passwords - it would still show them as not
matching.
Fix this by handling the three cases:
- Passwords are different
- Passwords are the same
- No passwords entered
-rw-r--r-- | panels/user-accounts/um-account-dialog.c | 5 | ||||
-rw-r--r-- | panels/user-accounts/um-password-dialog.c | 8 |
2 files changed, 7 insertions, 6 deletions
diff --git a/panels/user-accounts/um-account-dialog.c b/panels/user-accounts/um-account-dialog.c index af933677e..da229132a 100644 --- a/panels/user-accounts/um-account-dialog.c +++ b/panels/user-accounts/um-account-dialog.c @@ -456,17 +456,18 @@ update_password_match (UmAccountDialog *self) { const gchar *password; const gchar *verify; + const gchar *message = ""; password = gtk_entry_get_text (GTK_ENTRY (self->local_password)); verify = gtk_entry_get_text (GTK_ENTRY (self->local_verify)); if (strlen (verify) != 0) { if (strcmp (password, verify) != 0) { - gtk_label_set_label (GTK_LABEL (self->local_verify_hint), _("Passwords do not match.")); + message = _("Passwords do not match."); } else { - gtk_label_set_label (GTK_LABEL (self->local_verify_hint), ""); set_entry_validation_checkmark (GTK_ENTRY (self->local_verify)); } } + gtk_label_set_label (GTK_LABEL (self->local_verify_hint), message); } static void diff --git a/panels/user-accounts/um-password-dialog.c b/panels/user-accounts/um-password-dialog.c index 50ad203b1..0ea1e715d 100644 --- a/panels/user-accounts/um-password-dialog.c +++ b/panels/user-accounts/um-password-dialog.c @@ -281,20 +281,20 @@ update_password_match (UmPasswordDialog *um) { const char *password; const char *verify; + const char *message = ""; password = gtk_entry_get_text (GTK_ENTRY (um->password_entry)); verify = gtk_entry_get_text (GTK_ENTRY (um->verify_entry)); - if (strlen (password) > 0 && strlen (verify) > 0) { + if (strlen (verify) > 0) { if (strcmp (password, verify) != 0) { - gtk_label_set_label (GTK_LABEL (um->verify_hint), - _("The passwords do not match.")); + message = _("The passwords do not match."); } else { - gtk_label_set_label (GTK_LABEL (um->verify_hint), ""); set_entry_validation_checkmark (GTK_ENTRY (um->verify_entry)); } } + gtk_label_set_label (GTK_LABEL (um->verify_hint), message); } static gboolean |