| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Simply overriding the paint method of QtcTabBar did not allow
implementing the design accurately. Also, dragging of tabes tab does not
work.
Proper styling of a tab element in a QTabBar needs to be done via
QStyle. This change introduces the QtDesignSystemStyle which initially
is only responsible for QtcTabBar. Eventually, more Qtc* widgets can be
handled by it.
Change-Id: Ib32081edcf4ddd427bfa429a4d4038427b9ea0ca
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
|
| |
|
|
|
|
| |
Change-Id: I991ec2df0d559f96a28576df5611caf9e19d57eb
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: hjk <hjk@qt.io>
|
| |\
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
src/libs/utils/osspecificaspects.h
src/plugins/boot2qt/device-detection/devicedetector.cpp
Change-Id: Iabca733436cf7b7be9cf366b2b05710fc1ab206b
|
| | |
| |
| |
| |
| |
| | |
Task-number: QTCREATORBUG-33750
Change-Id: I1b8745d9459f9b26371cac6528018dc813d870a6
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Amends d2a8198b0f71a0693ebc8666a3a06ff432db63ea
Older macOS/Xcode:
Fixed `error: no matching function for call to 'construct_at'` triggered
by `emplace_back` for vector of WatcherEntry.
MSVC:
Fixed issue converting SmallStringView to QByteArray
Disable some qmldesigner/qmlproject tests that fail in the PRECHECK
Change-Id: Id03f823cd5ca201562e79c1412095c9d31c2c061
Reviewed-by: hjk <hjk@qt.io>
|
| | |
| |
| |
| |
| |
| |
| | |
Mine consistently appeared with ~200px width.
Change-Id: Iffa7497952bfce689931349408df09d5b58276e7
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
|
| | |
| |
| |
| |
| | |
Change-Id: Ica472399a8ea587ea3a827f250ab7f8c433ffddc
Reviewed-by: hjk <hjk@qt.io>
|
| | |
| |
| |
| |
| | |
Change-Id: I0616f7ee7fa5ae63ce38a93de3b058bf5808bba0
Reviewed-by: hjk <hjk@qt.io>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
We seem to fail to trigger the correct action on macOS
when trying to close all files under some circumstances.
Workaround by using the locator for this action.
Change-Id: I0e44a439fe9457d579942ba9eac3ab778613cc0e
Reviewed-by: Jukka Nokso <jukka.nokso@qt.io>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
|
| | |
| |
| |
| |
| | |
Change-Id: Iaf93da5feb86f7450443d1710a9f9fee256b2886
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
|
| |\ \ |
|
| | |\ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
* commit '549a485bd128f40ce375c8f60d388c2a56861312': (479 commits)
QmlDesigner: Use unqualifiedTypeName directly
QmlDesigner: Use StringUtils::split_last in property editor
QmlDesigner: Avoid usage of strings for types
QmlDesigner: Fix various type issues
QmlDesigner: Fix navigator tooltip previews
QmlDesigner: Fix the maximum value on shadowMapFar property
QmlDesigner: Remove missed full qualification
QmlDesigner: Remove duplicate code
QmlDesigner: Fix type in filter model
QmlDesigner: Fix type names in path tool
QmlDesigner: Fix types in timeline
QmlDesigner: Refresh meta type for import changes
QmlDesigner: Make standaloneApp true by default
QmlDesigner: Qt login requires email address on the next login
QmlDesigner; Fix tracing in declare type
QmlDesigner: More tracing for set type id
QmlDesigner: Add missing tracers in model
QmlDesigner: Fix refresh of type ids
QmlDesigner: Fix fileChanged and directoryLoaded in AssetsLibraryModel
GoogleTest: update to v1.17.0
...
Change-Id: I40474de918a2cfd53121b75fb34041fda6fc96a9
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
The exported types are refreshed if the imports are changed or set.
Change-Id: I8ce78af6fc59ec4da470c40c0339df0c54e1551f
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This setting if not defined should be true by default.
Change-Id: Iee477f5287439b8aec10cc08b727f20084fc1155
Reviewed-by: Burak Hancerli <burak.hancerli@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
|
| | | |\ \ |
|
| | | | |\ \
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
fixed Conflicts:
doc/qtcreator/src/user-interface/creator-ui.qdoc
qt_attributions.json
src/libs/utils/filesystemwatcher.cpp
src/libs/utils/filesystemwatcher.h
src/libs/utils/ranges.h
src/plugins/coreplugin/dialogs/settingsdialog.cpp
src/plugins/effectcomposer/effectshaderscodeeditor.h
src/plugins/extrapropertyeditormanager/extrapropertyeditormanagerplugin.cpp
src/plugins/mcusupport/mcusupportplugin.cpp
src/plugins/multipropertyeditor/MultiPropertyEditor.json.in
src/plugins/multipropertyeditor/multipropertyeditorplugin.h
src/plugins/qmldesigner/components/assetslibrary/assetslibrarymodel.cpp
src/plugins/qmldesigner/components/componentcore/bundleimporter.cpp
src/plugins/qmldesigner/components/componentcore/modelnodeoperations.cpp
src/plugins/qmldesigner/components/contentlibrary/contentlibraryusermodel.cpp
src/plugins/qmldesigner/components/formeditor/formeditorscene.cpp
src/plugins/qmldesigner/components/formeditor/formeditorscene.h
src/plugins/qmldesigner/components/integration/designdocument.cpp
src/plugins/qmldesigner/components/propertyeditor/gradientpresetitem.cpp
src/plugins/qmldesigner/imagecachecollectors/imagecachecollector.cpp
src/plugins/qmldesigner/libs/designercore/designercoreutils/modelutils.cpp
src/plugins/qmldesigner/libs/designercore/designercoreutils/stylesheetmerger.cpp
src/plugins/qmldesigner/libs/designercore/projectstorage/projectstorage.cpp
src/plugins/qmldesigner/libs/designsystem/dsstore.cpp
src/plugins/qmldesigner/puppetenvironmentbuilder.cpp
src/plugins/qmldesigner/qmldesignerexternaldependencies.cpp
src/plugins/qmldesignerbase/utils/qmlpuppetpaths.cpp
src/plugins/qmldesignerbase/utils/qmlpuppetpaths.h
src/plugins/qmlprojectmanager/buildsystem/qmlbuildsystem.cpp
src/plugins/qmlprojectmanager/qmlproject.cpp
src/plugins/qmlprojectmanager/qmlprojectrunconfiguration.cpp
tests/unit/tests/printers/gtest-creator-printing.cpp
Change-Id: I0410606167e4685aa826462e8294e9ef3e452c65
|
| | | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Refactored model creation to preserve original project storage imports.
These imports are no longer modified during model instantiation,
ensuring consistency and preventing unintended side effects.
Introduced an Aliases column to the document imports within project
storage. This addition enables better tracking and management of import
references.
Updated the handling of qualified import type names to utilize newly
defined aliases.
Enhanced the rewriter logic by integrating a dedicated setImport
function. This ensures imports are applied in a controlled manner,
reducing the risk of invalid or inconsistent states during rewriting.
Task-number: QDS-15762
Change-Id: Iee6b3bd7d17ede0fe1266eb0090043d7be5961dd
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
|
| | | |/ / /
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
If created 3D component contains bindings to materials or textures
in the main scene, copies of those materials and textures are
made in the component file.
Fixes: QDS-14067
Change-Id: I0091e403f208f8fcfb1dab72c121aebb9161a05f
Reviewed-by: Marco Bubke <marco.bubke@qt.io>
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Change-Id: Ie5c296bb42273c2c7aacfd630c73617f24839e1f
Reviewed-by: Marco Bubke <marco.bubke@qt.io>
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Change-Id: Ie85ec3d694b7802e3bcc48b0aa3011a964773760
Reviewed-by: Marco Bubke <marco.bubke@qt.io>
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Change-Id: Ib8e277368d5c424e61807170a9f3847cb096db49
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Change-Id: I65be54272acf6a8d95eef0b8aaa98d3a294685c5
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
If the watcher entries are removed the file cache entries are removed,
too. It prevents outdated entries.
Task-number: QDS-15750
Change-Id: Ib75b2682bd1aac8931ae6d97806370ed1049e2c7
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
The qml engine is automatically registering for ever value type a list
type.
Task-number: QDS-12759
Change-Id: Ic1ff9ff04b4a8512d3b5f0fdb8a0cd3353ed54cf
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
The file status cache was not cleared by removed directories. That lead
to outdated entries. The watcher should remove all not updated entries
for a directory update.
Fixes: QDS-15381
Change-Id: I6f489552b4a30eb045b87609b3c2d75b3c042c78
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Use std::filesystem for higher-resolution timestamps. This improves
detection of rapid file changes, such as quick rename and undo
operations, which were previously missed with QFileInfo.
Fixes document updates, too.
Fixes: QDS-15381
Change-Id: Ic6fd62e3bddfe1c9c91353475fb60980ddceaaac
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
If an exported type name is added the types will be refreshed.
Task-number: QDS-13378
Change-Id: I6c98f52b2a002147f2f39517ed13cf0205184c68
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Replaced workaround for broken qmldir files with proper duplicate
removal using the equality operator. The previous solution failed to
account for module names and versions, relying solely on the file name.
Fixes: QDS-15690
Change-Id: Ia15f06ba8c691fc8570f8e8f481a8970ebc502af
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Simplified the integration tests and made them more unitary.
Previously the tests used the same data set both as the expected result
in qmlproject -> json conversion tests and as the source in
json -> qmlproject conversion tests. This resulted in those
intertwined tests being unnecessarily hard to adjust.
Moreover, the following commit introduces a non-trivial filter behavior
that can potentially cause the result of the qmlproject -> json
conversion vary depending on the file types supported by QImage, which
makes the result of this conversion unsuitable to be used as the source
data anymore.
Task-number: QDS-15386
Change-Id: Idf657b168daa63cbfb1d4491832d889071cf794a
Reviewed-by: Marco Bubke <marco.bubke@qt.io>
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
- Moved dependency management from the project storage updater to the
project storage itself.
- The linking step is now handled within the project storage.
- Type entries are now created for exported types even if no component
is present.
- Instead of removing type entries, they are now reset—ensuring stable
type IDs per file path and name.
- Renamed "directory infos" to "project entry infos" to better reflect
their purpose.
The updater now only parses changed files or directories and no longer
determines their relationships—this responsibility has been shifted to
the storage.
Task-number: QDS-15599
Task-number: QDS-15598
Change-Id: I133c6130c02da032b906add3ff05d0cc39189914
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
AstCheck is only a small dependency to DesignerCore. And that is using
anything from designer core. Qml Project Manager has no dependencies
on designer core.
Change-Id: I224d10741e3e4f2ad22bf0d52d8db38da8eab958
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Change-Id: I805dc73682769e912bbf711d3fdfd555fc3aae23
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Change-Id: I9e47e7669f8bdb9f3b6654ea54f999a0bc18be77
Reviewed-by: Marco Bubke <marco.bubke@qt.io>
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Change-Id: If8a518c710d5124f97e383ae5c995bb84e2af047
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
To support that we have split the exported type names from the types and
link them globally in in the project storage.
There are no tests here because it is crude workaround.
Change-Id: I4271399728caa3e46d2f44a80a037a6f2591e4f3
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This adds the components from directory imports to the section
of the import.
Change-Id: Iff04188f002274988532c855f00d15c2b3bce57c
Reviewed-by: Marco Bubke <marco.bubke@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Change-Id: Ida9479579cc2e9f61d4f04a59b7b01fcc8a86356
Reviewed-by: Andrii Semkiv <andrii.semkiv@qt.io>
Reviewed-by: Marco Bubke <marco.bubke@qt.io>
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
The path should not contain any '.' or '..' and should not end with '/'.
Change-Id: Ie26f7f3f025cb2c7cff473a6e2e59a345503a26b
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Created a new group of GTest based tests - integration tests.
Converted QML Project Manager qmlproject <-> json converters unit tests
to this newly created type.
Made the unit tests discoverable in CTest.
Change-Id: I98c04ab1c379908b75ef98756e5e6457b453e631
Reviewed-by: Marco Bubke <marco.bubke@qt.io>
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
The on-the-fly QML puppet compilation is no longer supported
and has been removed.
Change-Id: I0575aafe033c43f1b622845a710ab2553975be7c
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
There can be only one exported type name entry.
Change-Id: Id032dcbaed3b1dc29c87330e05850adbda7b5086
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
If there is to template for the type we do not generate the
section, because of performance problems. See: QDS-15612
This patch removes the template generation code and tests.
We can revert this patch once the architecture can handle
lazy loading.
Task-number: QDS-15559
Change-Id: Ife360c09a803c77dfd39b3f49ba89c579d5bb887
Reviewed-by: Marco Bubke <marco.bubke@qt.io>
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This can make things slow in a few cases. See: QDS-15612.
Task-number: QDS-15575
Change-Id: I8f851d17a8c7d38c6d0928ee84a6cc7b4993e599
Reviewed-by: Marco Bubke <marco.bubke@qt.io>
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
- adjust tests, Qt 6.8.x does not work anymore
- USE_QML_IMPORT_OVERRIDE=${BUILD_DESIGNSTUDIO} to use the FetchContent
override repository (temporary until Qt 6.9.2 fixes QTBUG-137877)
Change-Id: Ib432c7e76c8fdc0aace13a07b6db2cc7bc2f3854
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Module IDs are now treated as globally unique and immutable identifiers,
similar to source IDs. They are generated based solely on the module
name, regardless of whether the module currently exists. This means that
for any given module name, a corresponding module ID will always be
generated and remain constant over time.
This approach decouples module IDs from the module's lifecycle or
synchronization state, ensuring that IDs do not change or depend on
runtime conditions. The key benefit is improved consistency and
traceability across systems, as module IDs can be reliably used as
stable references.
It improve project storage updates performance, too.
Change-Id: Ibfc685e9498f0cce15cd902bc680fcc2f6ad8ffd
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Removed unnecessary foreign key to reduce overhead. Planning to decouple
module ID from project storage to enable globally unique module
identifiers.
Change-Id: I1068a8b7dac47c7b966c9c283d790bf5439100ef
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
When a cyclic dependency is introduced through QML aliases, the code
model's synchronization mechanism is disrupted. This interruption
prevents the model from updating type information consistently across
components, resulting in stale or incorrect type data. Such
inconsistencies can lead to unpredictable behavior or runtime errors in
the application. This commit documents the issue and highlights the need
for user intervention to manually resolve the cycle.
Change-Id: I3c8283b0bbeba0634463e783ee18d5c99d8c919a
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
When a cyclic dependency occurs within the code model, the
synchronization process halts, leading to inconsistencies in type data
across components. This desynchronization can cause unexpected behavior
or errors during runtime. Currently, the cycle must be manually resolved
by the user to restore proper synchronization. Future improvements may
include automated cycle detection and resolution mechanisms.
Change-Id: I7365122fab1912b20e1ae34e7ee4fd7137fb637e
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
It is already fixed in Qt.
Change-Id: I387a3c7cfd28741afa5f790d3b63e6a62e56f1d6
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Previously, the table used SQLite's default rowid, which introduces an
additional lookup overhead during queries. By switching to a WITHOUT
ROWID table structure, SQLite can optimize lookups more efficiently,
especially when using primary keys. (See: SQLite WITHOUT ROWID)
Since primary keys in SQLite cannot contain NULL values, we now encode
the major and minor version information using the maximum integer value
to represent the absence of a version. This ensures that version-less
types are always preferred in comparisons and sorting, aligning with our
intended behavior.
Change-Id: I8f851d17a8c7d38c6d0928ee84a6cc7b4953e7e9
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
|