diff options
author | Matthias Clasen <mclasen@redhat.com> | 2018-02-07 19:36:48 -0500 |
---|---|---|
committer | Matthias Clasen <mclasen@redhat.com> | 2018-02-07 19:36:48 -0500 |
commit | ec76862d0095dc4b8de1bc46ee55f01a884e55ef (patch) | |
tree | 4e65823c1336b2b644e4048fc618237bbc154587 | |
parent | f07edf5019141bdc6c0886244cd9a938299a9ebe (diff) | |
download | gtk+-ec76862d0095dc4b8de1bc46ee55f01a884e55ef.tar.gz |
combo box: Stop using ::key-press-event
Switch to using ::event.
-rw-r--r-- | gtk/gtkcombobox.c | 35 | ||||
-rw-r--r-- | gtk/ui/gtkcombobox.ui | 2 |
2 files changed, 20 insertions, 17 deletions
diff --git a/gtk/gtkcombobox.c b/gtk/gtkcombobox.c index 68776dde6c..5289d017aa 100644 --- a/gtk/gtkcombobox.c +++ b/gtk/gtkcombobox.c @@ -280,8 +280,8 @@ static void gtk_combo_box_menu_activate (GtkWidget *menu, const gchar *path, GtkComboBox *combo_box); static void gtk_combo_box_update_sensitivity (GtkComboBox *combo_box); -static gboolean gtk_combo_box_menu_key_press (GtkWidget *widget, - GdkEventKey *event, +static gboolean gtk_combo_box_menu_event (GtkWidget *widget, + GdkEvent *event, gpointer data); static void gtk_combo_box_menu_popup (GtkComboBox *combo_box); @@ -849,7 +849,7 @@ gtk_combo_box_class_init (GtkComboBoxClass *klass) gtk_widget_class_bind_template_child_internal_private (widget_class, GtkComboBox, popup_widget); gtk_widget_class_bind_template_callback (widget_class, gtk_combo_box_button_toggled); gtk_widget_class_bind_template_callback (widget_class, gtk_combo_box_menu_activate); - gtk_widget_class_bind_template_callback (widget_class, gtk_combo_box_menu_key_press); + gtk_widget_class_bind_template_callback (widget_class, gtk_combo_box_menu_event); gtk_widget_class_bind_template_callback (widget_class, gtk_combo_box_menu_show); gtk_widget_class_bind_template_callback (widget_class, gtk_combo_box_menu_hide); @@ -1940,18 +1940,18 @@ gtk_combo_box_model_row_changed (GtkTreeModel *model, } static gboolean -gtk_combo_box_menu_key_press (GtkWidget *widget, - GdkEventKey *event, - gpointer data) +gtk_combo_box_menu_event (GtkWidget *widget, + GdkEvent *event, + gpointer data) { GtkComboBox *combo_box = GTK_COMBO_BOX (data); - if (!gtk_bindings_activate_event (G_OBJECT (widget), event)) + if (!gtk_bindings_activate_event (G_OBJECT (widget), (GdkEventKey *)event)) { /* The menu hasn't managed the * event, forward it to the combobox */ - gtk_bindings_activate_event (G_OBJECT (combo_box), event); + gtk_bindings_activate_event (G_OBJECT (combo_box), (GdkEventKey *)event); } return TRUE; @@ -2741,14 +2741,17 @@ gtk_combo_box_dispose (GObject* object) } static gboolean -gtk_cell_editable_key_press (GtkWidget *widget, - GdkEventKey *event, - gpointer data) +gtk_cell_editable_event (GtkWidget *widget, + GdkEvent *event, + gpointer data) { GtkComboBox *combo_box = GTK_COMBO_BOX (data); guint keyval; - if (!gdk_event_get_keyval ((GdkEvent *) event, &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) @@ -2786,8 +2789,8 @@ gtk_combo_box_start_editing (GtkCellEditable *cell_editable, if (priv->cell_view) { - g_signal_connect_object (priv->button, "key-press-event", - G_CALLBACK (gtk_cell_editable_key_press), + g_signal_connect_object (priv->button, "event", + G_CALLBACK (gtk_cell_editable_event), cell_editable, 0); gtk_widget_grab_focus (priv->button); @@ -2796,8 +2799,8 @@ gtk_combo_box_start_editing (GtkCellEditable *cell_editable, { child = gtk_bin_get_child (GTK_BIN (combo_box)); - g_signal_connect_object (child, "key-press-event", - G_CALLBACK (gtk_cell_editable_key_press), + g_signal_connect_object (child, "event", + G_CALLBACK (gtk_cell_editable_event), cell_editable, 0); gtk_widget_grab_focus (child); diff --git a/gtk/ui/gtkcombobox.ui b/gtk/ui/gtkcombobox.ui index d93c58785a..ef2d29c9df 100644 --- a/gtk/ui/gtkcombobox.ui +++ b/gtk/ui/gtkcombobox.ui @@ -34,7 +34,7 @@ <object class="GtkTreeMenu" id="popup_widget"> <property name="cell-area">area</property> <signal name="menu-activate" handler="gtk_combo_box_menu_activate" swapped="no"/> - <signal name="key-press-event" handler="gtk_combo_box_menu_key_press" swapped="no"/> + <signal name="event" handler="gtk_combo_box_menu_event" swapped="no"/> <signal name="show" handler="gtk_combo_box_menu_show" swapped="no"/> <signal name="hide" handler="gtk_combo_box_menu_hide" swapped="no"/> </object> |