| 141 GtkEventController *controller = NULL; |
141 GtkEventController *controller = NULL; |
| 142 |
142 |
| 143 g_return_if_fail(PIDGIN_IS_KEYPAD(keypad)); |
143 g_return_if_fail(PIDGIN_IS_KEYPAD(keypad)); |
| 144 g_return_if_fail(GTK_IS_WIDGET(widget)); |
144 g_return_if_fail(GTK_IS_WIDGET(widget)); |
| 145 |
145 |
| 146 controller = gtk_event_controller_key_new(widget); |
146 controller = gtk_event_controller_key_new(); |
| 147 gtk_event_controller_set_propagation_phase(controller, GTK_PHASE_CAPTURE); |
147 gtk_event_controller_set_propagation_phase(controller, GTK_PHASE_CAPTURE); |
| 148 g_signal_connect(controller, "key-pressed", |
148 g_signal_connect(controller, "key-pressed", |
| 149 G_CALLBACK(pidgin_keypad_key_pressed_cb), keypad); |
149 G_CALLBACK(pidgin_keypad_key_pressed_cb), keypad); |
| 150 g_object_set_data_full(G_OBJECT(widget), "pidgin-keypad-key-controller", |
150 gtk_widget_add_controller(widget, controller); |
| 151 controller, g_object_unref); |
|
| 152 } |
151 } |