summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gtk/gtkpasswordentry.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/gtk/gtkpasswordentry.c b/gtk/gtkpasswordentry.c
index ba91de58f4..7e375a05bc 100644
--- a/gtk/gtkpasswordentry.c
+++ b/gtk/gtkpasswordentry.c
@@ -189,8 +189,19 @@ activate_cb (GtkPasswordEntry *entry)
}
static void
+catchall_click_press (GtkGestureClick *gesture,
+ int n_press,
+ double x,
+ double y,
+ gpointer user_data)
+{
+ gtk_gesture_set_state (GTK_GESTURE (gesture), GTK_EVENT_SEQUENCE_CLAIMED);
+}
+
+static void
gtk_password_entry_init (GtkPasswordEntry *entry)
{
+ GtkGesture *catchall;
GtkEntryBuffer *buffer = gtk_password_entry_buffer_new ();
entry->entry = gtk_text_new ();
@@ -207,6 +218,12 @@ gtk_password_entry_init (GtkPasswordEntry *entry)
gtk_widget_set_cursor (entry->icon, gtk_widget_get_cursor (entry->entry));
gtk_widget_set_parent (entry->icon, GTK_WIDGET (entry));
+ catchall = gtk_gesture_click_new ();
+ g_signal_connect (catchall, "pressed",
+ G_CALLBACK (catchall_click_press), entry);
+ gtk_widget_add_controller (GTK_WIDGET (entry),
+ GTK_EVENT_CONTROLLER (catchall));
+
gtk_widget_add_css_class (GTK_WIDGET (entry), I_("password"));
gtk_password_entry_set_extra_menu (entry, NULL);