diff options
author | Milan Crha <mcrha@redhat.com> | 2023-04-26 16:48:35 +0200 |
---|---|---|
committer | Milan Crha <mcrha@redhat.com> | 2023-04-26 16:48:35 +0200 |
commit | 5c4d8a57f3e717090dc47346c123514dcfd425a4 (patch) | |
tree | 94039fb1e8808a73352d00dc36334e6c73563844 | |
parent | a115075072b1ac4779cbae8868f03f735818f828 (diff) | |
download | evolution-5c4d8a57f3e717090dc47346c123514dcfd425a4.tar.gz |
I#2332 - Mail: Recalc preview iframe heights more often
Closes https://gitlab.gnome.org/GNOME/evolution/-/issues/2332
-rw-r--r-- | src/e-util/e-web-view.c | 13 | ||||
-rw-r--r-- | src/mail/e-mail-display.c | 4 |
2 files changed, 17 insertions, 0 deletions
diff --git a/src/e-util/e-web-view.c b/src/e-util/e-web-view.c index 80c41abb15..f9602cc289 100644 --- a/src/e-util/e-web-view.c +++ b/src/e-util/e-web-view.c @@ -135,6 +135,7 @@ enum { URI_REQUESTED, CONTENT_LOADED, BEFORE_POPUP_EVENT, + RESOURCE_LOADED, LAST_SIGNAL }; @@ -906,6 +907,7 @@ web_view_uri_request_done_cb (GObject *source_object, gpointer user_data) { WebKitURISchemeRequest *request = user_data; + WebKitWebView *web_view; GInputStream *stream = NULL; gint64 stream_length = -1; gchar *mime_type = NULL; @@ -927,6 +929,9 @@ web_view_uri_request_done_cb (GObject *source_object, g_free (mime_type); } + web_view = webkit_uri_scheme_request_get_web_view (request); + g_signal_emit (web_view, signals[RESOURCE_LOADED], 0, NULL); + g_object_unref (request); } @@ -2424,6 +2429,14 @@ e_web_view_class_init (EWebViewClass *class) G_STRUCT_OFFSET (EWebViewClass, content_loaded), NULL, NULL, NULL, G_TYPE_NONE, 1, G_TYPE_STRING); + + signals[RESOURCE_LOADED] = g_signal_new ( + "resource-loaded", + G_TYPE_FROM_CLASS (class), + G_SIGNAL_RUN_LAST, + 0, + NULL, NULL, NULL, + G_TYPE_NONE, 0, G_TYPE_NONE); } static void diff --git a/src/mail/e-mail-display.c b/src/mail/e-mail-display.c index 8b52eb0193..b9786f05a4 100644 --- a/src/mail/e-mail-display.c +++ b/src/mail/e-mail-display.c @@ -2725,6 +2725,10 @@ e_mail_display_init (EMailDisplay *display) display, "process-mailto", G_CALLBACK (mail_display_process_mailto), NULL); + g_signal_connect ( + display, "resource-loaded", + G_CALLBACK (mail_display_schedule_iframes_height_update), NULL); + g_signal_connect_after ( display, "drag-data-get", G_CALLBACK (mail_display_drag_data_get), display); |