diff options
-rw-r--r-- | gtk/gtkpasswordentry.c | 17 |
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); |