[balsa/wip/gtk4: 236/351] Fix fallout from making BalsaMimeWidget opaque
- From: Peter Bloomfield <peterb src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [balsa/wip/gtk4: 236/351] Fix fallout from making BalsaMimeWidget opaque
- Date: Wed, 23 May 2018 21:36:48 +0000 (UTC)
commit 66698a9df1230fbeea3d57439be9cdac43399e8d
Author: Peter Bloomfield <PeterBloomfield bellsouth net>
Date: Mon Mar 19 16:42:15 2018 -0400
Fix fallout from making BalsaMimeWidget opaque
The HTML part code was never tested.
src/balsa-message.c | 14 +++++++++++---
src/balsa-mime-widget-text.c | 23 ++++++++++++++---------
2 files changed, 25 insertions(+), 12 deletions(-)
---
diff --git a/src/balsa-message.c b/src/balsa-message.c
index aa30b59..944fe25 100644
--- a/src/balsa-message.c
+++ b/src/balsa-message.c
@@ -2586,8 +2586,16 @@ mdn_dialog_response(GtkWidget * dialog, gint response, gpointer user_data)
gboolean
balsa_message_can_zoom(BalsaMessage * bm)
{
- return bm->current_part
- && libbalsa_html_can_zoom(bm->current_part->mime_widget->widget);
+ gboolean can_zoom = FALSE;
+
+ if (bm->current_part != NULL) {
+ GtkWidget *widget;
+
+ widget = balsa_mime_widget_get_widget(bm->current_part->mime_widget);
+ can_zoom = libbalsa_html_can_zoom(widget);
+ }
+
+ return can_zoom;
}
/* Zoom an html item. */
@@ -2609,7 +2617,7 @@ balsa_message_zoom(BalsaMessage * bm, gint in_out)
g_object_set_data(G_OBJECT(bm->message), BALSA_MESSAGE_ZOOM_KEY,
GINT_TO_POINTER(zoom));
- libbalsa_html_zoom(bm->current_part->mime_widget->widget, in_out);
+ libbalsa_html_zoom(balsa_mime_widget_get_widget(bm->current_part->mime_widget), in_out);
}
#endif /* HAVE_HTML_WIDGET */
diff --git a/src/balsa-mime-widget-text.c b/src/balsa-mime-widget-text.c
index f5a294b..0ecd9a8 100644
--- a/src/balsa-mime-widget-text.c
+++ b/src/balsa-mime-widget-text.c
@@ -1211,30 +1211,35 @@ bm_widget_new_html(BalsaMessage * bm, LibBalsaMessageBody * mime_body)
{
BalsaMimeWidget *mw = g_object_new(BALSA_TYPE_MIME_WIDGET, NULL);
GtkWidget *widget;
+ GtkWidget *popup_menu;
- mw->widget =
+ widget =
libbalsa_html_new(mime_body,
(LibBalsaHtmlCallback) bm_widget_on_url,
(LibBalsaHtmlCallback) handle_url);
- g_object_set_data(G_OBJECT(mw->widget), "mime-body", mime_body);
+ g_object_set_data(G_OBJECT(widget), "mime-body", mime_body);
- g_signal_connect(libbalsa_html_get_view_widget(mw->widget),
+ g_signal_connect(libbalsa_html_get_view_widget(widget),
"key_press_event",
G_CALLBACK(balsa_mime_widget_key_press_event), bm);
- if ((widget = libbalsa_html_popup_menu_widget(mw->widget))) {
- g_object_set_data(G_OBJECT(widget), "balsa-message", bm);
- g_signal_connect(widget, "populate-popup",
- G_CALLBACK(bmwt_populate_popup_cb), mw->widget);
+ if ((popup_menu = libbalsa_html_popup_menu_widget(widget)) != NULL) {
+ g_object_set_data(G_OBJECT(popup_menu), "balsa-message", bm);
+ g_signal_connect(popup_menu, "populate-popup",
+ G_CALLBACK(bmwt_populate_popup_cb), widget);
} else {
- mwt->gesture = gtk_gesture_multi_press_new(mw->widget);
+ BalsaMimeWidgetText *mwt = BALSA_MIME_WIDGET_TEXT(mw);
+
+ mwt->gesture = gtk_gesture_multi_press_new(widget);
gtk_gesture_single_set_button(GTK_GESTURE_SINGLE(mwt->gesture), 0);
g_signal_connect(mwt->gesture, "pressed",
G_CALLBACK(mwt_gesture_pressed_cb), bm);
- g_signal_connect(mw->widget, "popup-menu",
+ g_signal_connect(widget, "popup-menu",
G_CALLBACK(balsa_gtk_html_popup), bm);
}
+ balsa_mime_widget_set_widget(mw, widget);
+
return mw;
}
#endif /* defined HAVE_HTML_WIDGET */
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]