Commit Graph

68 Commits

Author SHA1 Message Date
4c00eb2ee6 M!147 - Set project-wide emacs formatting rules
Closes https://gitlab.gnome.org/GNOME/evolution/-/merge_requests/147
2024-11-04 14:50:38 +00:00
d773473d18 Replace deprecated GtkUIManager
This replaces a deprecated GtkUIManager with a new EUIManager, which
uses its own file format, similar to the .ui used by the gtk+, but
not the same. This brought in more structures like EUIAction and
EUIActionGroup.

To name the few most significant changes:

The overall window architecture had been changed internally too, the
EShellView is a widget now and contains everything except of the header
bar. This allows to create the window content once and not regenerate it
every switch between the views. It also moved the EUIManager from
the EShellWindow to the EShellView.

The EMailShellContent does not implement an EMailReader interface any more.
It allows to have cleaner EMailReader usage in the code. To get to
the EMailReader use:

   EMailView *mail_view = NULL;

   g_object_get (e_shell_view_get_shell_content (mail_shell_view), "mail-view", &mail_view, NULL);
   if (mail_view) {
      EMailReader *mail_reader = E_MAIL_READER (mail_view);

      ...

      g_clear_object (&mail_view);
   }

The plugins cannot have their UI definitions in the .eplug file,
these are added in the code, directly to the EUIManager. Modules
already did that.
2024-10-31 13:12:51 +01:00
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
fc2af6c295 I#2411 - Composer: Text out of <div> can break Undo
Closes https://gitlab.gnome.org/GNOME/evolution/-/issues/2411
2024-06-21 11:31:59 +02:00
feba9f5baa I#2371 - Composer: Added extra quotation level after draft open ][
Closes https://gitlab.gnome.org/GNOME/evolution/-/issues/2371
2024-04-22 13:41:37 +02:00
f61d3f3351 I#2685 - Composer: Drop extra font-size in elems of paste in HTML
Closes https://gitlab.gnome.org/GNOME/evolution/-/issues/2685
2024-02-26 18:53:24 +01:00
47865392be Composer: Use link references only when composing HTML message
The link references do not make sense when composing Plain Text
messages, because the links are shown verbatim in the text.
2023-12-11 08:30:15 +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
2678222648 I#1324 - Composer: HTML formatting left after mode change to Plain Text
Closes https://gitlab.gnome.org/GNOME/evolution/-/issues/1324
2023-08-30 13:34:27 +02:00
5347583b88 I#2381 - Composer: Use 'Wrap quoted text in replies' option also for text/html parts
Closes https://gitlab.gnome.org/GNOME/evolution/-/issues/2381
2023-05-29 15:11:14 +02:00
212b801b2e I#2371 - Composer: Added extra quotation level after draft open
Closes https://gitlab.gnome.org/GNOME/evolution/-/issues/2371
2023-05-23 14:38:43 +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
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
f077d58d02 I#2278 - Signature is re-added to a Draft mail after open
Closes https://gitlab.gnome.org/GNOME/evolution/-/issues/2278
2023-03-17 08:50:32 +01:00
8e117e9c56 I#2248 - Composer: Check parent element's text-align before unsetting it
Closes https://gitlab.gnome.org/GNOME/evolution/-/issues/2248
2023-02-15 14:53:36 +01:00
a8a5489680 Composer: Correct conversion of TABLE into Plain Text
The <TR> is similar to <BR> for the Plain text, thus when reading it
add the new line, if needed.

The WebKit returns correct `\n` in the node's innerText, but using it
as a plain text hides it for the user, thus split the lines and add
them as separate paragraphs.
2022-10-21 10:20:18 +02:00
3f530ba014 Composer: Some parts of HTML not always converted into Plain Text
When traversing the HTML structure the to-be-removed nodes in the middle
of the text could prevent correct move between nodes, by traversing into
them and immediately removing the node.
2022-07-11 17:44:08 +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
51daf69daf I#1918 - Composer: Skip STYLE and other tags in convert to Plain Text
Closes https://gitlab.gnome.org/GNOME/evolution/-/issues/1918
2022-05-30 14:06:24 +02:00
c7009fda1b I#1871 - WebKitEditor: Convert to plain text incorrect on reply/forward open
Closes https://gitlab.gnome.org/GNOME/evolution/-/issues/1871
2022-04-28 18:52:38 +02:00
faa22c3bb4 I#1824 - Composer: Preserve STYLE element of the signature
And drop TITLE, if it exists.

Closes https://gitlab.gnome.org/GNOME/evolution/-/issues/1824
2022-03-03 11:06:00 +01:00
079bfc9e92 I#1763 - Composer: Correct line wrapping with a link followed by a text
Closes https://gitlab.gnome.org/GNOME/evolution/-/issues/1763
2022-01-14 10:37:56 +01:00
8565d0d68e Composer: Various changes for Plain Text re-quote
* Unlinkify mailto: anchors, which causes trouble on wrapping inside quoted text.
* Merge consecutive text nodes before wrapping to simplify the algorithm
2022-01-13 16:56:51 +01:00
0fc6bf5804 Composer: Special-case requote of BLOCKQUOTE nodes in Plain Text mode
While the BLOCKQUOTE node is considered a clock node, it's not a real
block node for paragraph quoting, thus special-case it and requote
its content instead.

This could exhibit in certain occasions when deleting content inside
quoted part using Backspace or Delete keys.
2022-01-13 15:40:56 +01:00
f921781c79 Composer: Backup from toplevel BLOCKQUOTE on split for Undo/Redo
As the split (after Enter key press) splits the BLOCKQUOTE up to
the BODY, it's necessary to backup all of that. Otherwise, when
splitting in the second or higher BLOCKQUOTE level, the undo does
not have correct information and misbehaves.
2022-01-13 15:38:09 +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
6e46217384 I#1708 - Composer: Wrap quoted long words
Closes https://gitlab.gnome.org/GNOME/evolution/-/issues/1708
2021-11-24 14:51:48 +01:00
c61022b004 I#1657 - Composer: Correct empty paragraph detection for removal
Closes https://gitlab.gnome.org/GNOME/evolution/-/issues/1657
2021-10-12 16:13:45 +02: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
f8e567b5b9 I#1392 - Pressing backspace in front of quoted line with link does not delete anything
Closes https://gitlab.gnome.org/GNOME/evolution/-/issues/1392
2021-05-12 17:56:39 +02:00
8320752199 I#1439 - Composer: Paste single-line HTML without DIV into LI
Closes https://gitlab.gnome.org/GNOME/evolution/-/issues/1439
2021-03-24 17:34:52 +01:00
9debad14e2 Composer: Incorrect <BR> in quoted line with spaces only
Quoted lines with spaces only also added an extra <BR> when converting
from plain text, which leads to doubled quotation marks and misbehavior
when splitting the blockquote with the Enter key.
2021-03-23 18:08:35 +01:00
529117f0e6 I#1424 - Composer: Paragraph format change should preserve BLOCKQUOTE
Closes https://gitlab.gnome.org/GNOME/evolution/-/issues/1424
2021-03-19 12:01:35 +01:00
f3bcbb37f5 I#1159 - Composer: Removing highlighted quoted section creates empty quoted lines
Closes https://gitlab.gnome.org/GNOME/evolution/-/issues/1159
2021-03-10 17:33:16 +01:00
8ec17e104c Composer: Correct typo in node property names 2021-03-10 15:57:08 +01:00
1f07a428f3 I#1394 - Composer: Incorrect wrap in citation with a long link
Closes https://gitlab.gnome.org/GNOME/evolution/-/issues/1394
2021-03-09 13:32:39 +01:00
68587dd05e I#1391 - Composer: Changing quoted line from Normal to Preformatted changes its quotation level
Closes https://gitlab.gnome.org/GNOME/evolution/-/issues/1391
2021-03-09 10:00:14 +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
99c485049b I#1344 - Composer: Paragraph format change misbehaves on empty paragraph
Closes https://gitlab.gnome.org/GNOME/evolution/-/issues/1344
2021-02-24 12:25:48 +01:00
6a7df753b5 I#1365 - Composer: Nested quoted text can get lost in Reply on HTML mail
Closes https://gitlab.gnome.org/GNOME/evolution/-/issues/1365
2021-02-15 15:19:50 +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
3b95e570e4 I#1157 - Composer: Quoted text visually changes linewrap after paste
Closes https://gitlab.gnome.org/GNOME/evolution/-/issues/1157
2021-01-20 12:32:44 +01:00
c14ce7fd76 I#1330 - Composer: Invalid wrapping with a space at the end of the line
Closes https://gitlab.gnome.org/GNOME/evolution/-/issues/1330
2021-01-20 11:19:48 +01:00
6c5c15900c I#1314 - templates: Quoted body shown incorrectly in Plain Text mode
Closes https://gitlab.gnome.org/GNOME/evolution/-/issues/1314
2021-01-13 18:13:09 +01:00
c8da9c28b6 e-editor.js: Correct variable name in EvoEditor.InsertSignature()
Typo in the variable name, it was meant to be `uid`, but `id` was used
in the code instead.
2021-01-13 15:16:31 +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
461c01ad07 Composer: UL/OL not wrapped properly in Plain Text mode
In the Plain Text mode, when changing paragraph format to UL/OL, its width
was not properly set, which drew the long lines unwrapped. Switching to HTML
mode and back did set the expected wrap width.

Similarly, when converting HTML into plain text (on send), the wrap width did
not count width of the UL/OL prefix, making the line longer than it should be.
2020-12-02 13:57:19 +01:00