Commit Graph

189 Commits

Author SHA1 Message Date
c0ec122b5c I#2292 - Allow internal anchor links in HTML mail composer
Closes https://gitlab.gnome.org/GNOME/evolution/-/issues/2292
2024-07-25 17:59:14 +02:00
3d3c0ae94e I#2287 - Paste screenshot from clipboard in Mail composer
Closes https://gitlab.gnome.org/GNOME/evolution/-/issues/2287
2024-06-07 13:10:30 +02:00
9746012eaa I#2675 - Support webcals: URI
Closes https://gitlab.gnome.org/GNOME/evolution/-/issues/2675
2024-02-16 11:37:12 +01:00
29e29da0dd Composer: Stop message send when retrieve of the content failed
Message content retrieval can sometimes fail. Do not claim a problem
on the console only, stop sending instead, to not send empty messages.

Related to https://gitlab.gnome.org/GNOME/evolution/-/issues/2666
2024-02-14 08:20:23 +01:00
52884e3773 Replace G_TYPE_INSTANCE_GET_PRIVATE() with G_ADD_PRIVATE()
The G_TYPE_INSTANCE_GET_PRIVATE() macro is deprecated, which generates
a compiler warning since `glib_encoded_version` variable had been
set to the 2.66 version in the main CMakeLists.txt file.
2024-02-13 12:31:12 +01:00
e1fed6a822 I#2608 - Drag and drop images in HTML composer from Chrome
Closes https://gitlab.gnome.org/GNOME/evolution/-/issues/2608
2024-01-03 15:48:38 +01:00
b2e85c5af1 I#1683 - Composer: Use popover for Link Properties
Closes https://gitlab.gnome.org/GNOME/evolution/-/issues/1683
2023-11-22 14:41:43 +01:00
3f713be12b I#1384 - Links added in HTML mail composer get removed in plain text part
Closes https://gitlab.gnome.org/GNOME/evolution/-/issues/1384
2023-09-15 10:33:52 +02:00
d62a9403ab I#2335 - Composer: HTML formatting lost on paste from external browser
A poor workaround for WebKitGTK bug: https://bugs.webkit.org/show_bug.cgi?id=250003

Closes https://gitlab.gnome.org/GNOME/evolution/-/issues/2335
2023-05-02 15:56:24 +02:00
a3a8e1abef Replace deprecated 'web-process-crashed' with 'web-process-terminated' signal 2023-04-26 08:00:41 +02:00
6346165375 I#2319 - Composer: Bulleted list margin inconsistent in HTML
Closes https://gitlab.gnome.org/GNOME/evolution/-/issues/2319
2023-04-11 18:57:27 +02:00
dcb06707f2 I#1950 - Composer: Copy/paste changes text size in HTML mode
Closes https://gitlab.gnome.org/GNOME/evolution/-/issues/1950
2023-03-31 07:42:47 +02:00
b006276369 Add plugins' directory into WebKitGTK only when it exists
Adding non-existent directories into a sandbox generates runtime
warnings, but the directories are not necessary here.
2023-03-27 16:11:44 +02:00
f380159524 Add WebKit user plugin paths into the sandbox
The web extension doesn't have access into those directories without it,
which ignores the user plugins when the sandboxing is enabled.
2022-11-09 14:40:01 +01:00
0c3aabfbf0 M!112 - Remove unused assignments
Closes https://gitlab.gnome.org/GNOME/evolution/-/merge_requests/112
2022-11-02 08:15:39 +02:00
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