diff options
author | Matthias Clasen <mclasen@redhat.com> | 2019-03-13 20:37:42 -0400 |
---|---|---|
committer | Matthias Clasen <mclasen@redhat.com> | 2019-03-14 20:44:06 -0400 |
commit | d3d65e9148b10319e7c32b505e7039ae3d308b76 (patch) | |
tree | de35e1784d2c31f0d618669a2aa7ae0de4dcd618 | |
parent | 1cb1977988d0329f991190b35ac94f8cb882744b (diff) | |
download | gtk+-d3d65e9148b10319e7c32b505e7039ae3d308b76.tar.gz |
gtk-demo: Show password strength
Make the password entry demo show password strength.
-rw-r--r-- | demos/gtk-demo/password_entry.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/demos/gtk-demo/password_entry.c b/demos/gtk-demo/password_entry.c index b7083286bd..a30fd35174 100644 --- a/demos/gtk-demo/password_entry.c +++ b/demos/gtk-demo/password_entry.c @@ -27,6 +27,19 @@ update_button (GObject *object, text[0] != '\0' && g_str_equal (text, text2)); } +static int +get_strength (GtkPasswordEntry *entry) +{ + const char *text; + int strength; + + text = gtk_editable_get_text (GTK_EDITABLE (entry)); + + strength = CLAMP (10 * strlen (text), 0, 100); + + return strength; +} + GtkWidget * do_password_entry (GtkWidget *do_widget) { @@ -59,6 +72,8 @@ do_password_entry (GtkWidget *do_widget) "activates-default", TRUE, NULL); g_signal_connect (entry, "notify::text", G_CALLBACK (update_button), NULL); + gtk_password_entry_set_show_strength (GTK_PASSWORD_ENTRY (entry), TRUE); + g_signal_connect (entry, "get-strength", G_CALLBACK (get_strength), NULL); gtk_container_add (GTK_CONTAINER (box), entry); entry2 = gtk_password_entry_new (); |