[gtk+/wip/matthiasc/kill-key-events2: 45/48] combo box: Stop using ::key-press-event
- From: Matthias Clasen <matthiasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+/wip/matthiasc/kill-key-events2: 45/48] combo box: Stop using ::key-press-event
- Date: Thu, 8 Feb 2018 02:37:07 +0000 (UTC)
commit ec76862d0095dc4b8de1bc46ee55f01a884e55ef
Author: Matthias Clasen <mclasen redhat com>
Date: Wed Feb 7 19:36:48 2018 -0500
combo box: Stop using ::key-press-event
Switch to using ::event.
gtk/gtkcombobox.c | 35 +++++++++++++++++++----------------
gtk/ui/gtkcombobox.ui | 2 +-
2 files changed, 20 insertions(+), 17 deletions(-)
---
diff --git a/gtk/gtkcombobox.c b/gtk/gtkcombobox.c
index 68776dd..5289d01 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 d93c587..ef2d29c 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>
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]