[balsa] ab-main: Connect to the "key-pressed" signal
- From: Peter Bloomfield <peterb src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [balsa] ab-main: Connect to the "key-pressed" signal
- Date: Sun, 31 May 2020 20:02:05 +0000 (UTC)
commit ff855ffb252d85e53e2733ff08cb25d6233ff60b
Author: Peter Bloomfield <PeterBloomfield bellsouth net>
Date: Sun May 31 15:58:33 2020 -0400
ab-main: Connect to the "key-pressed" signal
Connect to the "key-pressed" signal of a GtkEventControllerKey instead
of the "key-press-event" widget signal.
Also drop a pointless "delete-event" handler.
* src/ab-main.c (ew_key_pressed), (bab_window_new), (main):
ChangeLog | 10 ++++++++++
src/ab-main.c | 25 +++++++++++++++----------
2 files changed, 25 insertions(+), 10 deletions(-)
---
diff --git a/ChangeLog b/ChangeLog
index bda8302fd..0d7c4ab7a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,13 @@
+2020-05-31 Peter Bloomfield <pbloomfield bellsouth net>
+
+ ab-main: Connect to the "key-pressed" signal of a
+ GtkEventControllerKey instead of the "key-press-event" widget
+ signal.
+
+ Also drop a pointless "delete-event" handler.
+
+ * src/ab-main.c (ew_key_pressed), (bab_window_new), (main):
+
2020-05-29 Peter Bloomfield <pbloomfield bellsouth net>
autocrypt: Connect to the "pressed" signal of a
diff --git a/src/ab-main.c b/src/ab-main.c
index a74b2929a..bfb1f5db2 100644
--- a/src/ab-main.c
+++ b/src/ab-main.c
@@ -900,12 +900,21 @@ bab_get_filter_box(void)
button);
return search_hbox;
}
+
static gboolean
-ew_key_pressed(GtkEntry * entry, GdkEventKey * event, struct ABMainWindow *abmw)
+ew_key_pressed(GtkEventControllerKey *controller,
+ guint keyval,
+ guint keycode,
+ GdkModifierType state,
+ gpointer user_data)
{
- if (event->keyval != GDK_KEY_Escape)
+ struct ABMainWindow *abmw = user_data;
+
+ if (keyval != GDK_KEY_Escape)
return FALSE;
+
gtk_button_clicked(GTK_BUTTON(abmw->cancel_button));
+
return TRUE;
}
@@ -917,6 +926,7 @@ bab_window_new(GtkApplication * application)
GtkWidget *scroll;
GtkWidget *browse_widget;
GtkWidget *edit_widget;
+ GtkEventController *key_controller;
contacts_app.window =
GTK_WINDOW(wnd = gtk_application_window_new(application));
@@ -968,19 +978,16 @@ bab_window_new(GtkApplication * application)
g_signal_connect(find_entry, "changed",
G_CALLBACK(balsa_ab_window_find), ab);
*/
- g_signal_connect(wnd, "key-press-event",
+ key_controller = gtk_event_controller_key_new(wnd);
+ g_signal_connect(key_controller, "key-pressed",
G_CALLBACK(ew_key_pressed), &contacts_app);
+
gtk_window_set_default_size(GTK_WINDOW(wnd), 500, 400);
gtk_widget_show_all(wnd);
return wnd;
}
-static gboolean
-bab_delete_ok(void)
-{
- return FALSE;
-}
/* -------------------------- main --------------------------------- */
static void
ab_warning(const char *fmt, ...)
@@ -1139,8 +1146,6 @@ main(int argc, char *argv[])
g_signal_connect(ab_window, "destroy",
G_CALLBACK(bab_cleanup), NULL);
- g_signal_connect(ab_window, "delete-event",
- G_CALLBACK(bab_delete_ok), NULL);
bab_set_intial_address_book(ab, ab_window);
/* session management */
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]