| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
By mistake opengl was marked as required library, but
should be just optional.
Fix compilation issues.
This should enable build on yet another coin node.
Change-Id: Id87404928e6b042d902fcfe0a7fed99a6806456f
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
(cherry picked from commit 8548008f53bbcebf65580304c89ea9d2a265bd85)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
| |
Fixes: QTBUG-95668
Change-Id: If3613043bfad00871b847c57a3e0961a67cec89b
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
(cherry picked from commit a211a19950112a942275108f148aa46be061438a)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The previous gn-cmake integration was driven towards having the
complete cmake build tree which included gn build artifacts.
These were marked as IMPORTED in cmake build files, this way
cmake "knew" all object files and static libs coming from gn.
To achieve that we needed to run the cmake configure twice.
First to feed gn with the build information from cmake and
then the second run to import all the build information to
cmake based on gn run.
As a side effect of this the first run cmake was creating incomplete
targets, so we could use generator expressions to gather all the data
needed for gn run. The second run of cmake was able to create fully
initialized targets. We used 'external project' to run cmake the second
time.
This approach worked well when doing "module" builds and having two
targets, one in the main project and one in external was not an issue.
Moreover, this approach could be integrated nicely since CI does only
"module" builds.
Unfortunately "top level" builds are implemented to import all qt
targets into one build tree. This created issue for qtwebengine since
fully initialized targets were 'hidden' by 'external project' and
including half baked (dummy) targets from the main project resulted
in bunch of issues related to the dependency tracking and build race
conditions. Also using 'external project' complicated installation
rules and in the end installation worked differently than in other
modules.
With current approach we use response files, so we hide all build
artifacts coming from gn and feed cmake with those response files.
This way we run the cmake configure once and we create all the targets
once. Using rsp files hacks linker options in cmake, so this approach
is sub-optimal, however allows to have working "top level" builds.
It is worth mentioning here that the final module linking has to take
place with cmake's part of build since doing one static lib in gn is
not possible due to the toolchain limitation (msvc is not able to
process static libs over 4Gb and has no support for thin archives,
so only a shared lib is doable at time of writing)
Following changes are made:
* remove 'external project' for qtwebengine target, we keep it however
for ninja ,gn and a host project
* call gn from cmake in a scripting mode during build and not configure
run, this way BUILD.gn is assembled as a build step so after
generator expressions are executed
* BUILD.gn is assembled now from 4 files:
- root template BUILD.root.gn.in
- compiler data gn_config_c.cmake, gn_config_cxx.cmake
- sources data gn_cofnig_target.cmake
* since we use gn wrapper script use gn.args file to pass arguments
instead of a command line, so this file can be now easily modified
when running gn and ninja 'manually'
* since a script mode does not support handling of properties with
TARGET as such, use the DIRECTORY scope in some of our functions
which handle GN_TARGET
* use qt_build_repo() in main CMakeFile and remove all coin and top
level build hacks
* remove 'external project' for examples and tests, this is no longer
required as all qt targets are not hidden by external project
* remove leftovers from gn feedback call used for GN_TARGET
* improve installation rules, WebEgineCore target is not by default
installed during build, therefore we need to copy resources and
translations to root so tests and examples still can be built without
a module being installed first
* adjust GN lookup paths, we look for gn in main configure and during
scripting mode when gn is executed
Fixes: QTBUG-94349
Fixes: QTBUG-94709
Fixes: QTBUG-94922
Fixes: QTBUG-94997
Fixes: QTBUG-95051
Fixes: QTBUG-95152
Fixes: QTBUG-95158
Fixes: QTBUG-95972
Task-number: QTBUG-95231
Task-number: QTBUG-95590
Change-Id: I5e7a34287ee59d904103fe310fc7c6a36a8dfbc9
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
(cherry picked from commit bd75c51f2a7f7384d3303e86764211cb3e32f03d)
|
|
|
|
|
|
|
| |
Change-Id: Ifa5892415a1e0b8ce9b6bfa10719aba618e3b799
Reviewed-by: Michal Klocek <michal.klocek@qt.io>
(cherry picked from commit c9795481c6162f4e7800aa573c37e8a200b46782)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
| |
Add cmake usage snippets for module's libraries. Remove quick version
from code snippets. Fix minor documentation warnings.
Fixes: QTBUG-94937
Change-Id: I2e5c8616ceeab495f604e135bb2aa2261c50c68d
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
(cherry picked from commit e3cc8e0283daa989ca6957a7100c2c11669f5d1f)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
| |
It doesn't use QPrinter and can be done using QtGui classes only.
Change-Id: I0e14563c1bb5e93d9803bb1a807f702b1a2a5315
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Kirill Burtsev <kirill.burtsev@qt.io>
(cherry picked from commit b405ed26336a44ad4f359cdb4e1909e31c113cd4)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
| |
Make it a static getter in QWebEngineView
Fixes: QTBUG-95331
Change-Id: I552f0047343abd909c5cd521a7a7a01d62896b00
Reviewed-by: Michal Klocek <michal.klocek@qt.io>
(cherry picked from commit 3fd9d08bc24bc5f769677b411750d73801adc2d2)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
| |
Change-Id: I16f27054871f63526946101e07cb0dcf4aa3b390
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
(cherry picked from commit e4bb4b8bc443fa78c0cd4509cc8ec1251e8296ae)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
| |
Change-Id: I622ff55c1c9b6f9d4818228c75543c3deffa37be
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
(cherry picked from commit 56b1f53d9b2927f5ba2a73f85cee59e385bf489d)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
| |
Change-Id: I11d3f61d1c916e6696a1cbf85bb0e0457fe52188
Reviewed-by: Michal Klocek <michal.klocek@qt.io>
(cherry picked from commit 96d87ed9fdc1d24febbeabe5d6baceef4c856899)
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
|
|
|
|
|
|
| |
Change-Id: I58e2dc2443bca75b0d315694c9f6503251a7be02
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
(cherry picked from commit 8c30f95f2a9b5de6d638f68bd3ab2bdaac7e1995)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
| |
API and documentation changes since 5.15 caused multiple warnings from
QDoc; this change addresses most of them. Some warnings indicate
missing documentation, those issues still remain.
Change-Id: I96be38b7daac37a7e35c149b4b3ec3f18c4415c9
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
(cherry picked from commit c248844b3b8ee004800606d1a6c6e6d6bee31738)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
| |
Change-Id: I2d9cf4fffda1ad614388844781ac4fece15dde0d
Reviewed-by: Michal Klocek <michal.klocek@qt.io>
(cherry picked from commit 57eb73f933e3c1499a969b2023073c3c01bb9a1f)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
| |
Change-Id: I2660e60665542681bc9b0a479ce7fd9d93b896ae
Reviewed-by: Michal Klocek <michal.klocek@qt.io>
(cherry picked from commit 233d61a0cb0b66ce2f3d548046acd90cdfa39cc3)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
| |
Change-Id: Iad93680dd0811086c481d9bf8adb298f663bdfa4
Reviewed-by: Michal Klocek <michal.klocek@qt.io>
(cherry picked from commit 0bcd8a6b8f96b214892fb296c6d6655ade43136f)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
| |
Give messages a context and use placeholders for arguments.
Change-Id: Ib07f74f6c9f0024c2851b3e4f2093f980115244d
Reviewed-by: Michal Klocek <michal.klocek@qt.io>
(cherry picked from commit dcaa369bc1659a28b8de4c9d619c72c485e72274)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
| |
Task-number: QTBUG-73497
Change-Id: I0a66c4f1767c54b0bcc9f9a3b61e29c43ec20177
Reviewed-by: Michal Klocek <michal.klocek@qt.io>
(cherry picked from commit 0887e880ced988704559505816b520972e6876c6)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
| |
Change-Id: I5b0c1c7ef0966c3cff79184aa0733b59208d6890
Reviewed-by: Michal Klocek <michal.klocek@qt.io>
(cherry picked from commit 566a4df270911e1656efef5dbb16e4f95bf6ca8d)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
| |
Change-Id: I35a4857d873559403d0574a69c59b4fd1e9a952f
Reviewed-by: Michal Klocek <michal.klocek@qt.io>
(cherry picked from commit f7cde55256c0a0d7d1d87569bfc47aa35b8b7c64)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
| |
We can only have one printer active at a time anyway.
At the same time restore some lost documentation.
Task-number: QTBUG-63235
Change-Id: I454ef3fb038712c832e73c661120fbbe77b3a90c
Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
(cherry picked from commit 4338bcbacf467c0d0d7aec36fbd186ca6b9e02f6)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
| |
Change-Id: Ifd7acf49b22be1532ba98371982af4b14f08e6fc
Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
(cherry picked from commit 4a5a1ab7849bba6aed87132296c79ca9dba6d113)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
| |
Leaving further API modification for later
Task-number: QTBUG-63235
Change-Id: I75367ee5d4ce071abaeed361d2dc27c64fb6dd8a
Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
(cherry picked from commit f820e8f1993ca2a3e6808467cabca82e464f36e7)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
| |
[ChangeLog][QWebEngineCore][QWebEngineHistory] New methods to access
navigation history as a model through new class QWebEngineHistoryModel.
[ChangeLog][QWebEngineQuick] QQuickWebEngineHistory is merged into QWebEngineHistory.
Task-number: QTBUG-74585
Change-Id: I9f9a73bbaf3954282dfc220cfc2c4cb08a37fb73
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
|
|
|
|
|
|
|
|
| |
Prevent linkage of core to widgets by moving printing API from
QWebEnginePage to View and using QPagedPaintDevice (the QtGui ancestor
of QPrinter) where it's needed.
Change-Id: I6ea96edb495b0dcaaa584bbe72632fda025c18d3
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Ports QQuickWebEngineNewViewRequest to QtWebEngineCore.
[ChangeLog][QtWebEngineQuick][WebEngineView]
WebEngineView::NewViewRequested is now handled with
WebEngineView::acceptAsNewView() instead of with
WebEngineNewViewRequest::openIn().
Task-number: QTBUG-74587
Change-Id: I9b27128948076e13f2c228458e1e7491df12153d
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Michal Klocek <michal.klocek@qt.io>
|
|
|
|
|
|
|
| |
FileSelectUploadFolder value is added.
Change-Id: Ie69782234bcbf3460d2999ac08ee9f88dea190c7
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
Include WebChannel,Positioning cmake packages into WebEngineQuick
and WebEngineWidgets. WebEngineCore depends on it so this should
be pick up automatically, but in the case of clean build and due to
how things work in cmake this is required otherwise linker
genex will complain.
Change-Id: I54fe8ffdb824e1fd0c0dcdfbbb43b1bcf06411bb
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
|
|
|
|
|
| |
Task-number: QTBUG-74587
Change-Id: I9955a4c70b339523b5e9e9d6dffe928e61fbab90
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
|
|
|
|
|
|
| |
Fix errors from the 'clean headers' task on coin.
Change-Id: I058697e726228800c0fd3220b1d40ac154efb47c
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
|
|
|
|
|
|
|
|
| |
Fix some library dependencies and make proper header includes
in core.
Task-number: QTBUG-91760
Change-Id: I415361dd42ef2cc39716ce3f5f56e6e8556ac4c8
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
examples/webenginewidgets/printme/printhandler.cpp
src/3rdparty
src/core/api/qwebenginepage_p.h
src/core/content_browser_client_qt.h
src/core/web_contents_adapter_client.h
src/core/web_contents_delegate_qt.cpp
src/core/web_contents_delegate_qt.h
src/webenginequick/api/qquickwebengineview_p_p.h
tests/auto/quick/qmltests/data/tst_download.qml
tests/auto/quick/qmltests/data/tst_viewSoure.qml
tests/auto/widgets/loadsignals/tst_loadsignals.cpp
tests/auto/widgets/qwebengineview/tst_qwebengineview.cpp
Change-Id: I9c1819ec15e13d4f8e244defe860e26274b5d4be
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This change tries to match how chromium treats one single load. Before
the pair of loadStarted/loadFinished methods for api classes was called
on delegate's DidStartNavigation/DidFinishNavigation, which might be many
within one single logical load. This is true for multiple usecases (like
multiple redirects on load, immediate form submit on DOM load, page's
subresource load, or just an error page load on failure). Tracking these
methods and deciding when to emit signals based on states are error-prone
and complicates logic for no benefits. Also it somewhat lies about when
real load is done, which is only started and finished on outer methods
DidStartLoading/DidStopLoading, which are conveniently called only once
for all mentioned usecases. So, this change uses these methods to issue
signals for load start/finish, and only makes exception for error page,
which is needed for quick's private test support.
Fixes: QTBUG-65223
Fixes: QTBUG-76802
Fixes: QTBUG-87089
Fixes: QTBUG-90342
Fixes: QTBUG-91773
Fixes: QTBUG-92063
Change-Id: I9cc99b639030fedd8cf6a9dc04d0869d6be6357d
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
|
| |
| |
| |
| |
| |
| |
| | |
Task-number: QTBUG-76802
Change-Id: I38cd148706c0479ffbad1e0d2877adc1cad9038d
Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When printing with the default resolution of QPrinter, rasterized images
of pages are just too small to produce sharp result. Documentation of
QPrinter also mentions that the default ScreenResolution should
only be used for drafts.
Change-Id: I5fe93f7985d16b1126cf2bbcb9b4a4ddbdfd21f2
Task-number: QTBUG-92185
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
| |
| |
| |
| |
| | |
Change-Id: I938b593deef66c782f5b0998948c0a7b2c32f656
Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
|
|\|
| |
| |
| | |
Change-Id: I0dd7c64669f4b130047a4a3836f62f7ee5b5f8d9
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When the QWebEnginePage changed on a QWebEngineView, all signal connec-
tions between the view and the previous page were removed as well, even
those that the user connected themself.
To prevent unexpected behavior, only disconnect the signals that the
view connected to automatically and leave the rest of the connections
intact when the page on the view is changed.
Fixes: QTBUG-90509
Change-Id: Icac3e3be0b598dec8107e8fffdf7f25dd88a4b71
Reviewed-by: Michal Klocek <michal.klocek@qt.io>
|
|\|
| |
| |
| | |
Change-Id: Idee0142b0e33fdf8ca663f1ef1bcd8b932985043
|
| |
| |
| |
| |
| |
| |
| | |
Also removes another private dependency
Change-Id: Ie0a671c66f9aa49e7001c44e69bf94e11ab058a5
Reviewed-by: Kirill Burtsev <kirill.burtsev@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
For triggering an error page 3 conditions should be fulfilled:
- main frame navigation
- the page's document is empty
- the HTTP status code indicates an error
This fix adds check for the empty document and sends loadFinished signal
without expecting an error page if the document is not empty.
Fixes: QTBUG-90517
Change-Id: I6463d75fb5e682932feca64b0f059f9aa475795c
Reviewed-by: Kirill Burtsev <kirill.burtsev@qt.io>
|
| |
| |
| |
| |
| | |
Change-Id: I7e0ebecdbb68cfff0b574c966f3fa80d28680e1c
Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
|
| |
| |
| |
| |
| | |
Change-Id: I33c1af7c431055d95e0fb540246765cce684de15
Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Load with client or server http error results in successful navigation,
which leads to 'true' loadFinished result, and subsequent chromium's error
page load and display with second set of loadStarted/loadFinished signals.
This effectively ignores QWebEngineSettings::ErrorPageEnabled. Fixing it
requires submodule change to ask embedder if error pages should also be
suppressed for http errors.
Also update chromium for required change, which pulls in the following changes:
* e71010069b4 Fix embedded builds with printing enabled
* f5a93d251cc Allow the embedder to suppress an error page for http errors
Change-Id: I731678575439a6dad90dfb89e79b0083c63b49c2
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Ignore url loading if the request is not from a data
url and the Q(Quick)WebEngineNewViewRequest.openIn() is not
called on newViewRequested().
Set the missing Q(Quick)WebEngineNewViewRequest::requestedUrl
property.
Fixes: QTBUG-87378
Change-Id: Idddc9cf075db68dcf5825b3e746d16419d02cfa0
Reviewed-by: Tamas Zakor <ztamas@inf.u-szeged.hu>
Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
[ChangeLog] QWebEnginePage is in QtWebEngineCore
Task-number: QTBUG-74585
Change-Id: Id326c89c868e9e7d53488bbd12cb321e1a0b79b7
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
|
| |
| |
| |
| |
| |
| | |
Task-number: QTBUG-74585
Change-Id: I1968d5104d7d0d86d8f33879ed8c06f2a4846509
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Keep debug stream operators in page for now,
since QWebEngineHsitory is accessible from page only.
[ChangeLog] QWebEngineHistory is in QtWebEngineCore
Task-number: QTBUG-74585
Change-Id: I5dfc13a0d59ac87f18fe4905ebcfd4a9ec5ad3a1
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
| |
| |
| |
| |
| |
| |
| | |
Use QGuiApplication instead.
Change-Id: I2e1df98e3d12a3a40f0e5b4f026ecc8418aec271
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
| |
| |
| |
| |
| |
| |
| | |
Introduce temporarily PageView interface and DummyDelegate.
Change-Id: I3a3d57435c98b31a15fb6d777045e141d007486f
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Default notification presenter depends on qsystemtryicon,
so it depends on widgets, move setter when page is set
on view.
Change-Id: I379b083fe66a4b44e4b92e01a7e5270837fd645c
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|