Commit Graph

110 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
Milan Crha 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
Milan Crha 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
Milan Crha 7e57e2dd31 EWebView: Just loaded remote images may be left invisible
While calculating image size for the preview width, the images which are
being loaded report their width as 0px, which can be preserved due to it
can fix the preview width constraint, even though the image is 0px because
it's not loaded yet. The image does not enlarge to its expected size after
it's loaded due to this, effectively making the image invisible.
2024-07-23 15:23:47 +02:00
Milan Crha 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
Milan Crha 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
Milan Crha 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
Milan Crha 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
Milan Crha 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
Milan Crha 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
Milan Crha 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
Milan Crha bcc15a818c I#2442 - Correct color of expand/collapse buttons in preview in Dark mode
Closes https://gitlab.gnome.org/GNOME/evolution/-/issues/2442
2023-08-09 17:25:48 +02:00
Milan Crha 32fd6557c3 I#203 - Improve handling of suspiciously signed/encrypted emails (multiparts)
Closes https://gitlab.gnome.org/GNOME/evolution/-/issues/203
2023-07-18 15:32:59 +02:00
Milan Crha 5d0e2bd97f itip-formatter: Move JavaScript code from C to e-web-view.js
This is cleaner than having the code in the C and recompile the project
for any simple change. There is also added a call to

   window.webkit.messageHandlers.scheduleIFramesHeightUpdate.postMessage(0);

at the end, which caused trouble when being in the C code (there had been
issued an "Unsupported return type" error).
2023-06-16 12:31:18 +02:00
Milan Crha c559e9bff2 I#2400 - HTML attachment viewport is tiny
Closes https://gitlab.gnome.org/GNOME/evolution/-/issues/2400
2023-06-16 12:18:39 +02:00
Milan Crha 033db86f61 I#2382 - Mail: Workaround recursion in iframe height computation
Closes https://gitlab.gnome.org/GNOME/evolution/-/issues/2382
2023-05-30 08:19:15 +02:00
Milan Crha 974d13a5d9 I#2380 - Mail: Preview content sometimes grows indefinitely
Closes https://gitlab.gnome.org/GNOME/evolution/-/issues/2380
2023-05-29 16:59:54 +02:00
Milan Crha 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
Milan Crha 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
Milan Crha feea689556 I#2310 - Mail: Preview panel has too many vertical scrollbars
Closes https://gitlab.gnome.org/GNOME/evolution/-/issues/2310
2023-05-22 11:53:16 +02:00
Milan Crha 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
Дилян Палаузов 1885854264 M!118 - iTIP-formatter: respect the color-scheme in HTML MIME parts
Related to https://gitlab.gnome.org/GNOME/evolution/-/issues/2275
Closes https://gitlab.gnome.org/GNOME/evolution/-/issues/2284
Closes https://gitlab.gnome.org/GNOME/evolution/-/merge_requests/118
2023-04-18 10:30:28 +00:00
Milan Crha 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
Milan Crha 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
Milan Crha f9551bdef2 I#2302 - Mail: Space bar no longer scrolls preview messages
This started with WebKitGTK 2.40.0.

Closes https://gitlab.gnome.org/GNOME/evolution/-/issues/2302
2023-03-27 13:54:02 +02:00
Milan Crha a818093e08 I#2290 - Composer: Preserve '\n' inside paragraph text
Closes https://gitlab.gnome.org/GNOME/evolution/-/issues/2290
2023-03-17 09:11:46 +01:00
Milan Crha 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
Milan Crha 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
Milan Crha dc2ccec4ca I#2210 - Scale embedded images in HTML messages to respect viewport ][
Follow-up change, to catch smaller images than the window width, to keep
their original size.

Closes https://gitlab.gnome.org/GNOME/evolution/-/issues/2210
2023-01-20 09:27:38 +01:00
Milan Crha fcacec1fdc I#2210 - Scale embedded images in HTML messages to respect viewport
Closes https://gitlab.gnome.org/GNOME/evolution/-/issues/2210
2023-01-20 08:49:54 +01:00
Milan Crha a037d582a2 I#2204 - itip-formatter: iframe height miscalculated without frame flattening
Closes https://gitlab.gnome.org/GNOME/evolution/-/issues/2204
2023-01-03 18:22:20 +01:00
Milan Crha 33f71e3790 I#2167 - e-web-view.js: Check for instantiated iframe document
Closes https://gitlab.gnome.org/GNOME/evolution/-/issues/2167
2022-11-29 17:36:39 +01:00
Milan Crha 3c9524f612 I#2144 - EWebView: Use system link color for "expand recipients" dots
Closes https://gitlab.gnome.org/GNOME/evolution/-/issues/2144
2022-11-15 12:38:33 +01:00
Milan Crha 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
Milan Crha 8c20556a10 I#2001 - Mail: Update preview's iframe height to match its content
Closes https://gitlab.gnome.org/GNOME/evolution/-/issues/2001
2022-09-16 08:47:07 +02:00
Milan Crha 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
Milan Crha 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
Cédric Bellegarde 4a8b5c2930 M!107 - em-format: Make contact photo rounded
Closes https://gitlab.gnome.org/GNOME/evolution/-/merge_requests/107
2022-06-08 10:07:46 +00:00
Milan Crha 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
Milan Crha 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
Milan Crha ac15857f14 I#1835 - Mail: Preview uses wrong colors for HTML mail with dark theme
Closes https://gitlab.gnome.org/GNOME/evolution/-/issues/1835
2022-03-18 09:45:20 +01:00
Milan Crha 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
Milan Crha ed36776c40 Add option to unset colors provided in HTML mails for preview into Preferences
It's located in Edit->Preferences->Mail Preferences->HTML Messages->Unset
colors provided in HTML mails in message preview.

Related to https://gitlab.gnome.org/GNOME/evolution/issues/695
2022-02-01 11:23:40 +01:00
Milan Crha 04a326cec9 I#1791 - itip-view: Incorrect calendar used in certain corner case
Closes https://gitlab.gnome.org/GNOME/evolution/-/issues/1791
2022-01-31 15:44:31 +01:00
Milan Crha 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
Milan Crha 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
Milan Crha 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
Milan Crha 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
Milan Crha 6c2827601b I#1767 - ECalComponentPreview: Use full width for the Description
Closes https://gitlab.gnome.org/GNOME/evolution/-/issues/1767
2022-01-11 17:26:46 +01:00
Milan Crha 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