[balsa/wip/gtk4: 286/351] ab-main: Use a GtkEventControllerKey
- From: Peter Bloomfield <peterb src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [balsa/wip/gtk4: 286/351] ab-main: Use a GtkEventControllerKey
- Date: Wed, 23 May 2018 21:41:01 +0000 (UTC)
commit bc5ad6b04bcf43f46dd8563803991dc70a0a7774
Author: Peter Bloomfield <PeterBloomfield bellsouth net>
Date: Sat Apr 21 20:19:15 2018 -0400
ab-main: Use a GtkEventControllerKey
…and its "key-pressed" event instead of GtkWidget's "key-press-event",
which is going away some time.
src/ab-main.c | 18 ++++++++++++++----
1 files changed, 14 insertions(+), 4 deletions(-)
---
diff --git a/src/ab-main.c b/src/ab-main.c
index 1e04bc4..0e53cce 100644
--- a/src/ab-main.c
+++ b/src/ab-main.c
@@ -68,12 +68,16 @@ struct ABMainWindow {
LibBalsaAddress *displayed_address;
GMenu *file_menu;
+
+ GtkEventController *key_controller;
} contacts_app;
static void
bab_cleanup(void)
{
+ g_object_unref(contacts_app.key_controller);
+
gtk_main_quit();
}
@@ -926,12 +930,17 @@ bab_get_filter_box(void)
button);
return search_hbox;
}
+
static gboolean
-ew_key_pressed(GtkEntry * entry, GdkEvent * event, struct ABMainWindow *abmw)
+ew_key_pressed(GtkEventControllerKey *key_controller,
+ guint keyval,
+ guint keycode,
+ GdkModifierType state,
+ gpointer user_data)
{
- guint keyval;
+ struct ABMainWindow *abmw = user_data;
- if (!(gdk_event_get_keyval(event, &keyval) && keyval == GDK_KEY_Escape))
+ if (keyval != GDK_KEY_Escape)
return FALSE;
gtk_button_clicked(GTK_BUTTON(abmw->cancel_button));
@@ -994,7 +1003,8 @@ bab_window_new(GtkApplication * application)
g_signal_connect(G_OBJECT(find_entry), "changed",
G_CALLBACK(balsa_ab_window_find), ab);
*/
- g_signal_connect(wnd, "key-press-event",
+ contacts_app.key_controller = gtk_event_controller_key_new(wnd);
+ g_signal_connect(contacts_app.key_controller, "key-pressed",
G_CALLBACK(ew_key_pressed), &contacts_app);
gtk_window_set_default_size(GTK_WINDOW(wnd), 500, 400);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]