Commit Graph

174 Commits

Author SHA1 Message Date
1ee1bbe2a4 I#1923 - Composer: Add "Copy/Open Link" into the context menu
Closes https://gitlab.gnome.org/GNOME/evolution/-/issues/1923
2022-06-13 14:10:32 +02:00
d1d3293a93 EWebKitEditor: Mode change not propagated into the Editor widget
This could be reproduced for example when forwarding an HTML message
and having Evolution set to format text in Plain Text. In such case
a "lose formatting" question is shown and when choosing to not lose
it, the content shows an HTML variant, but the format combo still
shows "Plain Text", which means the sent message will be plain text,
despite editing in HTML.
2022-04-28 11:35:54 +02:00
7153d6d2c0 I#449 - Support markdown in composer
Closes https://gitlab.gnome.org/GNOME/evolution/-/issues/449
2022-02-11 09:55:18 +01:00
7e045494a2 I#1571 - Broken font settings can break message display
Closes https://gitlab.gnome.org/GNOME/evolution/-/issues/1571
2021-12-07 12:30:55 +01:00
8f7ad8b065 I#1714 - Composer: Prefer HTML over image on LibreOffice data paste
Closes https://gitlab.gnome.org/GNOME/evolution/-/issues/1714
2021-12-02 14:52:57 +01:00
a019ade24d Load JavaScript plugins for message preview and WebKit editor
This allows to save JavaScript plugins, files with .js extension,
into `$PREFIX/share/evolution/webkit/preview-plugins/` or into
`~/.local/share/evolution/preview-plugins/` for the message preview
and into `$PREFIX/share/evolution/webkit/webkit-editor-plugins/` or
into `~/.local/share/evolution/webkit-editor-plugins/` for
the WebKit composer.

The plugin is an object, which contains two members:
* `name` - a string with a name of the plugin
* `setup(doc)` - a setup function

The argument of the `setup` function is a `document`, which can
be either the main document or an iframe document. The function
can be called multiple times for the same document.

The preview plugin registers itself by calling `Evo.RegisterPlugin(plugin_instance)`.

The WebKit editor plugin registers itself by calling `EvoEditor.RegisterPlugin(plugin_instance)`.
2021-11-25 11:01:38 +01:00
ee4c322505 Composer: Don't show blockquote indicators on both sides for 6th+ level
Related to https://gitlab.gnome.org/GNOME/evolution/issues/445
2021-11-05 11:43:50 +01:00
7bd2ce8a11 I#1536 - Allow to delete an inserted image/rule in HTML composer
Closes https://gitlab.gnome.org/GNOME/evolution/-/issues/1536
2021-06-14 19:24:24 +02:00
91d4f2229e I#1469 - Composer: Signatures in HTML inserted into the quote on reply
It could happen when replying to a message composed by Evolution 3.38.1
and earlier.

Closes https://gitlab.gnome.org/GNOME/evolution/-/issues/1469
2021-06-10 13:26:40 +02:00
04e03c08c2 Composer: Disable visual wrapping of anchors in Plain Text mode
Related to https://gitlab.gnome.org/GNOME/evolution/issues/71
2021-03-09 14:05:36 +01:00
41fdb88c92 I#1349 - Do not expose source WebKit data dir in installed binaries
Closes https://gitlab.gnome.org/GNOME/evolution/-/issues/1349
2021-03-09 11:21:28 +01:00
558073ad8e I#1403 - WebView: Automatically switch text direction according to the text
Closes https://gitlab.gnome.org/GNOME/evolution/-/issues/1403
2021-03-02 09:27:48 +01:00
01d596cae4 I#1398 - Composer: Fails to delete column/row of a table
Closes https://gitlab.gnome.org/GNOME/evolution/-/issues/1398
2021-03-01 15:20:05 +01:00
5ee60af2a2 Composer: Add an option to prefer PRE on paste of a plain text
Let the user choose whether paste of the plain text should be pasted
as a normal paragraph or a preformatted paragraph.

Related to https://gitlab.gnome.org/GNOME/evolution/-/issues/1269
2021-01-28 17:57:24 +01:00
4cd97ac7fa I#1269 - Composer: Paste plain text as Preformatted
Closes https://gitlab.gnome.org/GNOME/evolution/-/issues/1269
2021-01-13 10:51:17 +01:00
684cdabac0 I#1317 - HTMLEditor: Add "Preserve ratio" into image properties dialog
Closes https://gitlab.gnome.org/GNOME/evolution/-/issues/1317
2021-01-12 16:57:37 +01:00
a457b9f06a I#1286 - WebView: Change how scheme handlers are registered
Closes https://gitlab.gnome.org/GNOME/evolution/-/issues/1286
2021-01-07 12:03:05 +01:00
d27a33e55d I#1187 - code-cleanup: Remove unnecessary NULL pointer checks
These changes were generated by using the software “Coccinelle 1.0.8”.

Closes https://gitlab.gnome.org/GNOME/evolution/-/issues/1187
2020-11-04 10:25:44 +01:00
6ad8626d93 EWebKitEditor: Prevent NULL dereference on call to WebKitWebView methods
The parent class may not have defined a method, which EWebKitEditor
expects to have defined (and assigned), thus check for the existence
and call it only if it's set.

Related to https://bugs.webkit.org/show_bug.cgi?id=216828
2020-09-22 18:41:58 +02:00
3dcada1fe0 I#1070 - Improve URL scanner (detect angle brackets)
Closes https://gitlab.gnome.org/GNOME/evolution/-/issues/1070
2020-09-16 11:52:18 +02:00
1efbfc212e Drop (optional) dependency on org.gnome.settings-daemon.plugins.xsettings schema
It had been used, if installed, to guide WebKiGTK font antialiasing,
but WebKitGTK can guess this on its own, even on Wayland.

Partly related to https://gitlab.gnome.org/GNOME/gsettings-desktop-schemas/-/issues/31
2020-06-17 10:10:32 +02:00
44be75076d I#975 - Composer: Some user options not propagated to the WebProcess
Closes https://gitlab.gnome.org/GNOME/evolution/-/issues/975
2020-06-08 09:17:32 +02:00
28fb2937e5 I#969 - Workaround freeze on drag of message over composer body
Closes https://gitlab.gnome.org/GNOME/evolution/-/issues/969
2020-06-05 13:40:41 +02:00
cc6c26ec7c Add an option to specify minimum font size for WebKitGTK
Evolution used to force some minimum font size in the code, but it
was removed to be able to properly show <small>, <xsmall> and such
texts in the web views. Unfortunately, it also means that if the sender
keeps such small font it can be hard to read to the recipient, thus
let's add the option, thus the user can set it up to his/her needs.
2020-06-05 10:49:17 +02:00
34e28ff149 I#966 - Composer: Correct caret placement around signature wrapper
Closes https://gitlab.gnome.org/GNOME/evolution/-/issues/966
2020-06-04 17:50:48 +02:00
73f27df2ff Address a compiler warning about ENABLE_MAINTAINER_MODE
This is shown only when the maintainer mode is off. It should
be '#ifdef', instead of '#if', of course.
2020-05-29 13:49:42 +02:00
242e9762f6 Revert "Make it possible to disable WebKit sandbox usage with an environment variable"
Better to use WebKit's own WEBKIT_FORCE_SANDBOX=0, than to duplicate
the same functionality.

This reverts commit 6959aeb5bb.
2020-05-27 06:43:02 +02:00
6959aeb5bb Make it possible to disable WebKit sandbox usage with an environment variable
Define DISABLE_WEBKIT_SANDBOX=1 environment variable before running
evolution to disable WebKitGTK sandbox usage. That would be usable
in cases when the sandbox refuses to run, which can happen and which
had been noticed on terminal with this output:

   terminate called after throwing an instance of 'std::system_error'
     what():  Operation not permitted

This showed when opening a message composer.
2020-05-11 14:28:18 +02:00
820aab2342 Enable sandbox usage for WebKitGTK 2020-05-05 14:23:13 +02:00
b9589fdf1d Bug 725254 - Smaller font size shown as 0 in preview when received
Simply do not limit minimum font size for the WebKitWebView.

Closes https://bugzilla.gnome.org/show_bug.cgi?id=725254
2020-04-28 12:43:15 +02:00
fcd4768b2e EWebKitEditor: Switch to JavaScriptCore API
The C DOM API had been deprecated since WebKitGTK 2.22. This is
the editor rewrite to use the new API.
2020-04-27 15:06:56 +02:00
3cbf9b5da8 I#792 - Composer: Some shortcuts depend on the current keyboard layout ][
Closes https://gitlab.gnome.org/GNOME/evolution/issues/792
2020-03-06 13:23:49 +01:00
2b7b2c61fb EWebKitEditor: Prevent Replace-all to cycle indefinitely in some cases
In case the search and the replace words are similar (like changing
capitals or such and searching case insensitively), the search can
repeat indefinitely for replace all. This makes the Replace-all
use only search from the top of the document to the bottom, without
wrap around, thus it'll stop at the end of the document on its own.
2020-03-06 10:22:14 +01:00
fd7edcb657 I#792 - Composer: Some shortcuts depend on the current keyboard layout
Closes https://gitlab.gnome.org/GNOME/evolution/issues/792
2020-02-20 15:59:49 +01:00
1d7e3e75cc EWebView: Use JavaScriptCore API of WebKitGTK+
All the previews (in Mail, Contacts, Memos and Tasks) stop using
deprecated WebKitGTK+ DOM API through a WebExtension (and its D-Bus
API) and start using the JavaScriptCore API (and JavaScript as such).
This allows to lightweight the WebExtension for the EWebView
significantly, including drop of the D-Bus API of it, fully relying
on the Inter-Process-Communication of WebKitGTK+ itself.
2019-10-09 12:26:12 +02:00
c1d37800e2 I#587 - Change how Evolution talks to WebKitWebProcess
Required for WebKitGTK+ 2.26.0+.

Closes https://gitlab.gnome.org/GNOME/evolution/issues/587
2019-09-11 22:43:00 +02:00
8469b63947 I#551 - Enhance URL end recognition regarding closing bracket
Closes https://gitlab.gnome.org/GNOME/evolution/issues/551
2019-08-19 15:40:46 +02:00
d2b83b197b M!27 - Ignore the value of some GString functions
… or start using it, whatever is appropriate.

Callng “x = g_string_append (x, y)” is equivalent to
“g_string_append (x, y)".

Likewise for g_string_erase().
2019-07-11 12:26:50 +00:00
6dc66755af M!23 - Prefer g_string_append_c() over g_string_append()
Closes https://gitlab.gnome.org/GNOME/evolution/merge_requests/23
2019-07-08 15:09:10 +02:00
1a96057c82 I#433 - Change <div>/<p> styling in composer to better match preview panel
Closes https://gitlab.gnome.org/GNOME/evolution/issues/433
2019-06-10 17:15:06 +02:00
5d008d86af M!14 - Allow floating point value for webview body font size
Closes https://gitlab.gnome.org/GNOME/evolution/merge_requests/14
2019-05-24 07:48:13 +02:00
57aa3bce7d Address some issues reported by static analyzers (Coverity Scan, clang) 2019-05-17 12:51:13 +02:00
a1798c9e2f I#343 - Composer autosave can overwrite backup with empty content
Closes https://gitlab.gnome.org/GNOME/evolution/issues/343
2019-03-12 14:02:10 +01:00
6129aeaeec I#327 - Paragraph format change in quotation can break stored selection
Closes https://gitlab.gnome.org/GNOME/evolution/issues/327
2019-03-11 11:15:02 +01:00
d7e3eab132 [EWebKitEditor] Fix few memory leaks
Related to a GVariant returned by e_util_invoke_g_dbus_proxy_call_sync_wrapper_with_error_check().
2019-02-21 15:15:44 +01:00
07a2087169 Use GWeakRef when watching D-Bus bus names
With certain operations interleaving the callback to name-appeared
signal could be called after the object in the user_data had been freed.
Even when the free of the object unwatches the D-Bus name, it's too
late, because the signal callback is already scheduled in the main loop.

Reported downstream at:
https://bugzilla.redhat.com/show_bug.cgi?id=1677846
2019-02-21 15:00:17 +01:00
24e434f45c Change parentheses in an if() to avoid clang warning 2019-02-04 10:59:10 +01:00
17d1497676 I#288 - Fails to extract downloaded remote images from message preview
Closes https://gitlab.gnome.org/GNOME/evolution/issues/288
2019-01-21 16:25:56 +01:00
aff63c3cf5 I#275 - [Composer] Ctrl+Shift+Backspace deletion cannot be undone
Closes https://gitlab.gnome.org/GNOME/evolution/issues/275
2019-01-10 12:32:33 +01:00
49aa88030a Bug 769396 - Quoted Reply with Template
Closes https://bugzilla.gnome.org/show_bug.cgi?id=769396
2018-11-09 10:34:10 +01:00