diff options
author | Carlos Garnacho <carlosg@gnome.org> | 2018-06-26 15:29:54 +0200 |
---|---|---|
committer | Carlos Garnacho <carlosg@gnome.org> | 2018-07-30 13:14:12 +0200 |
commit | 0d7b4ecb14685680b84d39fbd6e3075e79e2546d (patch) | |
tree | 22e2d55f1dd01dc824cc05c1dd4fcb157e4fcabb /gtk/gtkentry.c | |
parent | 9a541d9b91dcb67b19eb67e3fbecd938b745514d (diff) | |
download | gtk+-0d7b4ecb14685680b84d39fbd6e3075e79e2546d.tar.gz |
gtkentry: Use keycontroller on GtkCellEditable implementation
Diffstat (limited to 'gtk/gtkentry.c')
-rw-r--r-- | gtk/gtkentry.c | 21 |
1 files changed, 9 insertions, 12 deletions
diff --git a/gtk/gtkentry.c b/gtk/gtkentry.c index bbed89d601..634229978b 100644 --- a/gtk/gtkentry.c +++ b/gtk/gtkentry.c @@ -4412,18 +4412,13 @@ gtk_cell_editable_entry_activated (GtkEntry *entry, gpointer data) } static gboolean -gtk_cell_editable_event (GtkEntry *entry, - GdkEvent *event, - gpointer data) +gtk_cell_editable_entry_key_pressed (GtkEventControllerKey *key, + guint keyval, + guint keycode, + GdkModifierType modifiers, + GtkEntry *entry) { GtkEntryPrivate *priv = gtk_entry_get_instance_private (entry); - guint keyval; - - if (gdk_event_get_event_type (event) != GDK_KEY_PRESS) - return GDK_EVENT_PROPAGATE; - - if (!gdk_event_get_keyval (event, &keyval)) - return GDK_EVENT_PROPAGATE; if (keyval == GDK_KEY_Escape) { @@ -4452,8 +4447,10 @@ gtk_entry_start_editing (GtkCellEditable *cell_editable, { g_signal_connect (cell_editable, "activate", G_CALLBACK (gtk_cell_editable_entry_activated), NULL); - g_signal_connect (cell_editable, "event", - G_CALLBACK (gtk_cell_editable_event), NULL); + g_signal_connect (gtk_entry_get_key_controller (GTK_ENTRY (cell_editable)), + "key-pressed", + G_CALLBACK (gtk_cell_editable_entry_key_pressed), + cell_editable); } static void |