Commit 514736f27e in 3.9.5 broke inline
PGP encrypted messages, because the parser was treating the encrypted
message content as an attachment even though the content type is just
text/plain. This ensures the message content is treated correctly.
There's now enough hooks in EWebView that it can take over image saving
from EMailDisplay / EMailReader, with the added perk that a "Save Image"
pop-up menu item now appears for images in ALL preview panes.
Asynchronously copies the image under the cursor to the clipboard.
This replaces the "cursor-image" property, which attempts to match the
image URI to a subresource from WebKitWebDataSource. The problem with
that approach is EMailDisplay redirects several URI schemes to its own
custom request handlers which further mutate the URI. So for example,
a text/html message may use a "cid:" URI to refer to an embedded image,
which EMailDisplay transforms to a "mail:" URI and finally to a "data:"
URI. The final image URI might not be derivable from the original URI
without retracing the SoupRequest.
The "image-copy" action now calls e_web_view_cursor_image_copy().
This also adds an explicit requirement on gdk-pixbuf-2.0 >= 2.24 for
gdk_pixbuf_new_from_stream_async() / finish().
New functions:
e_web_view_cursor_image_copy()
Removed functions:
e_web_view_get_cursor_image()
e_web_view_set_cursor_image()
Returns a new EActivity for an EWebView-related asynchronous operation,
and emits a "new-activity" signal. By default the EActivity comes loaded
with a GCancellable and sets the EWebView itself as the alert sink (which
means alerts are displayed directly in the content area). The signal
emission allows the EActivity to be further customized and/or tracked by
the application.
Asynchronously requests data at a URI by way of a SoupRequest to WebKit's
default SoupSession, incorporating both e_web_view_redirect_uri() and the
custom request handlers installed via e_web_view_install_request_handler().
New functions:
e_web_view_request()
e_web_view_request_finish()
Attempts to derive a suggested filename from the given URI for use in a
"Save As" dialog.
By default the suggested filename is the last path segment of the given
URI (the unless the given URI looks like a query), but subclasses can use
other mechanisms for custom URI schemes. For example, "cid:" URIs in an
email message may refer to a MIME part with a suggested filename in its
Content-Disposition header.
Replaces the given URI with a redirected URI as necessary, primarily for
use with custom SoupRequest handlers. Typically this function would be
called just prior to handing a request off to a SoupSession, such as
from a WebKitWebView "resource-request-starting" signal handler.
Case in point: EMailDisplay now implements the redirect_uri() method,
and calls it from its own "resource-request-starting" signal handler.
Don't expose public API for this.
Even though it's still possible through the WebKitWebView API, we don't
want to encourage setting an arbitrary WebKitWebSettings on an EWebView.
Removed functions:
e_web_view_set_settings()
e_web_view_get_default_settings()
Any provider can return a generic error code, which makes the check
useless, only hiding important error information from a user. Since
the camel_getaddrinfo() returns CAMEL_SERVICE_ERROR_URL_INVALID,
the check could be adapted and be more useful.
Connect to the GtkComboBox::changed signal after all candidates are
added, to avoid calling e_source_config_check_complete() before the
candidate has been told to insert widgets. This can cause run-time
warnings such as:
(evolution:7106): evolution-cal-config-webcal-CRITICAL **:
cal_config_webcal_check_complete: assertion `context != NULL' failed