Skip to content

Port away from Qt Webkit to Qt Webengine

Because Qt Webkit has been deprecated for long. Most of the functionality is preserved, but there has been some slight user interface changes.

Before this patchseries:

  • the entire email body was wrapped in one scrollarea
  • highlighting all matches on search was configurable

trojita_webkit

After this patchseries:

  • text parts, and attachments have separate scrollareas
  • highligh all matches on search is no longer configurable as there is no API in QWebEngineView to disable.

trojita_webengine

The layout handling still needs a little polishing, currently the attachments get more space than the text/html parts.

The styling on QWebEngineView scrollbars are different than the rest of the UI. The scrollbars on QWebEngineView are therefore hidden, and scrollbar handling is handled using javascript and a QScrollBar. This however hides scrollbars on all elements in html mails, but they are still scrollable. Ideally, only the scrollbar on the document itself should be hidden.

Current known defects

  • Downloading images served over http/https fails. A messagebox is shown with an error. In current master it fails silently on my system. Unrelated to this patch series.
  • The replacement for ErrorCheckingPage does not work.
  • There are some encoding problem with html mails.
  • UrlSchemeHandler::requestStarted is this called in it's own thread? Does it need locking of some kind?
  • The unit test "test_Html_formatting" fails. In current master it passes on my system.
  • Mails with many attachments becomes unreadable, the attachments use all available spacing for the WebEngineView.

BUG: 365299

GUI:

Edited by Espen Sandøy Hustad

Merge request reports