[balsa/wip/gtk4: 293/351] balsa-message et al: Use GtkEventControllerKey
- From: Peter Bloomfield <peterb src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [balsa/wip/gtk4: 293/351] balsa-message et al: Use GtkEventControllerKey
- Date: Wed, 23 May 2018 21:41:36 +0000 (UTC)
commit 11d680e4ac18c6b4704443ae87718bc697849546
Author: Peter Bloomfield <PeterBloomfield bellsouth net>
Date: Thu Apr 26 12:14:14 2018 -0400
balsa-message et al: Use GtkEventControllerKey
…to catch more key presses, instead of connecting to
GtkWidget::key-press-event, which will go away some day.
Also move a controller from BalsaMessage to BalsaMimeWidgetText, where
it is actually used.
src/balsa-message.c | 1 -
src/balsa-message.h | 1 -
src/balsa-mime-widget-text.c | 11 +++++++----
3 files changed, 7 insertions(+), 6 deletions(-)
---
diff --git a/src/balsa-message.c b/src/balsa-message.c
index 9324e26..c61a7eb 100644
--- a/src/balsa-message.c
+++ b/src/balsa-message.c
@@ -842,7 +842,6 @@ balsa_message_destroy(GObject * object)
g_clear_object(&bm->scroll_key_controller);
g_clear_object(&bm->button_key_controller);
g_clear_object(&bm->header_key_controller);
- g_clear_object(&bm->text_key_controller);
g_clear_object(&bm->find_key_controller);
#ifdef HAVE_HTML_WIDGET
diff --git a/src/balsa-message.h b/src/balsa-message.h
index 4ef5ff5..684c90f 100644
--- a/src/balsa-message.h
+++ b/src/balsa-message.h
@@ -104,7 +104,6 @@ struct _BalsaMessage {
GtkEventController *scroll_key_controller;
GtkEventController *button_key_controller;
GtkEventController *header_key_controller;
- GtkEventController *text_key_controller;
GtkEventController *find_key_controller;
};
diff --git a/src/balsa-mime-widget-text.c b/src/balsa-mime-widget-text.c
index a1bafcf..4d5ba61 100644
--- a/src/balsa-mime-widget-text.c
+++ b/src/balsa-mime-widget-text.c
@@ -151,6 +151,7 @@ struct _BalsaMimeWidgetText {
LibBalsaMessageBody *mime_body;
GtkGesture *gesture;
GtkEventController *motion_controller;
+ GtkEventController *key_controller;
GList *cite_bar_list;
gint cite_bar_dimension;
gint phrase_hl;
@@ -166,6 +167,7 @@ balsa_mime_widget_text_dispose(GObject * object) {
g_clear_object(&mwt->gesture);
g_clear_object(&mwt->motion_controller);
+ g_clear_object(&mwt->key_controller);
G_OBJECT_CLASS(balsa_mime_widget_text_parent_class)->dispose(object);
}
@@ -305,8 +307,8 @@ balsa_mime_widget_new_text(BalsaMessage * bm, LibBalsaMessageBody * mime_body,
)
libbalsa_wrap_string(ptr, balsa_app.browse_wrap_length);
- bm->text_key_controller = gtk_event_controller_key_new(widget);
- g_signal_connect(bm->text_key_controller, "key-pressed",
+ mwt->key_controller = gtk_event_controller_key_new(widget);
+ g_signal_connect(mwt->key_controller, "key-pressed",
G_CALLBACK(balsa_mime_widget_key_press_event), bm);
mwt->mime_body = mime_body;
@@ -1216,8 +1218,9 @@ bm_widget_new_html(BalsaMessage * bm, LibBalsaMessageBody * mime_body)
(LibBalsaHtmlCallback) handle_url);
g_object_set_data(G_OBJECT(widget), "mime-body", mime_body);
- g_signal_connect(libbalsa_html_get_view_widget(widget),
- "key_press_event",
+ mwt->key_controller =
+ gtk_event_controller_key_new(libbalsa_html_get_view_widget(widget));
+ g_signal_connect(mwt->key_controller, "key-pressed",
G_CALLBACK(balsa_mime_widget_key_press_event), bm);
if ((popup_menu = libbalsa_html_popup_menu_widget(widget)) != NULL) {
g_object_set_data(G_OBJECT(popup_menu), "balsa-message", bm);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]