summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthias Clasen <mclasen@redhat.com>2019-03-13 20:37:42 -0400
committerMatthias Clasen <mclasen@redhat.com>2019-03-14 20:44:06 -0400
commitd3d65e9148b10319e7c32b505e7039ae3d308b76 (patch)
treede35e1784d2c31f0d618669a2aa7ae0de4dcd618
parent1cb1977988d0329f991190b35ac94f8cb882744b (diff)
downloadgtk+-d3d65e9148b10319e7c32b505e7039ae3d308b76.tar.gz
gtk-demo: Show password strength
Make the password entry demo show password strength.
-rw-r--r--demos/gtk-demo/password_entry.c15
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 ();