[balsa/wip/gtk4: 290/351] application-helpers: New function to block accels
- From: Peter Bloomfield <peterb src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [balsa/wip/gtk4: 290/351] application-helpers: New function to block accels
- Date: Wed, 23 May 2018 21:41:21 +0000 (UTC)
commit f8264ec528831c71db001a37c9b4f94aaea33b39
Author: Peter Bloomfield <PeterBloomfield bellsouth net>
Date: Thu Apr 26 09:49:20 2018 -0400
application-helpers: New function to block accels
which is needed to get the "find-in-message" bar to work. Key-presses
are interpreted as accelerators before we see them in the
"key-press-event" handler.
libbalsa/application-helpers.c | 12 ++++++++++++
libbalsa/application-helpers.h | 3 +++
2 files changed, 15 insertions(+), 0 deletions(-)
---
diff --git a/libbalsa/application-helpers.c b/libbalsa/application-helpers.c
index 619ed35..129ef54 100644
--- a/libbalsa/application-helpers.c
+++ b/libbalsa/application-helpers.c
@@ -49,6 +49,11 @@ accel_activate(GtkAccelGroup * accel_group,
gpointer user_data)
{
AccelInfo *info = user_data;
+ gboolean block_accels;
+
+ block_accels = GPOINTER_TO_INT(g_object_get_data(acceleratable, "block-accels"));
+ if (block_accels)
+ return FALSE;
g_action_activate(info->action, info->parameter);
@@ -216,6 +221,13 @@ libbalsa_window_set_accels(GtkApplicationWindow * window,
g_object_unref(accel_group);
}
+void
+libbalsa_window_block_accels(GtkApplicationWindow * window,
+ gboolean block)
+{
+ g_object_set_data(G_OBJECT(window), "block-accels", GINT_TO_POINTER(!!block));
+}
+
/*
* libbalsa_window_add_accelerator
*
diff --git a/libbalsa/application-helpers.h b/libbalsa/application-helpers.h
index a460a0a..4d5223e 100644
--- a/libbalsa/application-helpers.h
+++ b/libbalsa/application-helpers.h
@@ -41,6 +41,9 @@ GtkWidget *libbalsa_window_get_menu_bar(GtkApplicationWindow * window,
void libbalsa_window_set_accels (GtkApplicationWindow * window,
GMenuModel * menu_model);
+void libbalsa_window_block_accels (GtkApplicationWindow * window,
+ gboolean block);
+
void libbalsa_window_add_accelerator (GtkApplicationWindow * window,
const gchar * accel,
const gchar * action_name);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]