If the prototype or extension has an unresolved id, it needs to be
checked, if an exported name belonging to the prototype or extension was
updated. In that case the id has to be again resolved.
Task-number: QDS-12761
Change-Id: I7a733662cf37e13e8c2db53dec5a4f3e0a9b6ecf
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Also change the class to namespace, rename "get" to "generate"
and add unit tests.
Change-Id: Ib52bf7e3e0110e33acb40ca6e3d9bfc61cefdca0
Reviewed-by: Qt CI Patch Build Bot <ci_patchbuild_bot@qt.io>
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
Reviewed-by: Marco Bubke <marco.bubke@qt.io>
- Added UniqueName::getId()
- Cleaned up generateNewId() and made it use UniqueName::getId()
- Moved UniqueName to designercore
Also reversed how the predicate of UniqueName::get() works.
Change-Id: I89c50f7d80610243f56be165b1495ef428da457c
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Qt CI Patch Build Bot <ci_patchbuild_bot@qt.io>
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
So far the defaults were false but some of the are true.
Task-number: QDS-12663
Change-Id: I710913ed371d6e094cf68c154bb9353c21ee0c16
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Reviewed-by: Qt CI Patch Build Bot <ci_patchbuild_bot@qt.io>
Type annotaions are now saving the type name and dropInFormEditor is by
default true.
Task-number: QDS-12450
Change-Id: I757f59b296de321c4d0190a36ec581379f646735
Reviewed-by: Qt CI Patch Build Bot <ci_patchbuild_bot@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
There are now other ways to prevent locking bugs. So we don't need the
template parameter anymore. That makes it possible to move much of the
code to a cpp file. Maybe later we have to move some functions back for
performance reasons.
Change-Id: I01269912618d7cf5e070219e7edaa3a00623b7cf
Reviewed-by: Qt CI Patch Build Bot <ci_patchbuild_bot@qt.io>
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
The default property can be set too in any prototypes. Look them up
there too. Because it is expensive we cache them in the node meta info
to make hasDefaultProperty() followed by defaultProperty() cheaper.
Change-Id: I3b9ec90fc1bc5f0228dad3b580c335734f03821d
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Reviewed-by: Qt CI Patch Build Bot <ci_patchbuild_bot@qt.io>
The file url was missing, so no valid source id could be created. That
lead to invalid imports.
The qualified path for the node instances is now created in the node
instance view.
Change-Id: I2685ab2fdbdb0fa8a5f89793be52c8fae2b8db8c
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Reviewed-by: Qt CI Patch Build Bot <ci_patchbuild_bot@qt.io>
* possibleImports() and usedImports() has to be implemented for the
project storage
* getQMLSingletons() is not implemented for project storage and also
does not belong into the rewriter.
* semantic errors are fully disabled for QDS_USE_PROJECTSTORAGE, since
they require the scope chain.
Change-Id: I200ccbc1faf2631c4764a4676553a69cc0f5cf1f
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Qt CI Patch Build Bot <ci_patchbuild_bot@qt.io>
Reviewed-by: Marco Bubke <marco.bubke@qt.io>
The optimizer took quite often the slow join first. So now we have one
method to walk the prototype chain and then use the type ids in simpler
statements to get the end result.
Task-number: QTCREATORBUG-30599
Change-Id: I3e9d4ec85ba75801769eb8760fda6e0400300899
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Reviewed-by: Qt CI Patch Build Bot <ci_patchbuild_bot@qt.io>
There can be unique and not unique indices with the same columns. So we
add that attribute to the name to distinguish between the indices.
Change-Id: I96eac1f0e95c135d625f09fd5399b16f2293d645
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Reviewed-by: Qt CI Patch Build Bot <ci_patchbuild_bot@qt.io>
Threads are still considered joinable after their execution. So sleeping
thread have to be joinded first. Add test
Fixes: QDS-12308
Change-Id: Ie01588293e3b7ce9fe149d52a25ba03d174cca88
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
* Add QTC_CHECK for crash
* ActionAreas should not be "garbage" collected if they have no target.
* Initial ActionAreas do not have a target and ActionAreas without target make sense to a user. We do not want to delete them together with the target.
Task-number: QDS-12181
Change-Id: Ie520c47aad990a8ff07fc3346e6772226d334ce5
Reviewed-by: Marco Bubke <marco.bubke@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
The regular expression was case insensitive.
Change-Id: Ic44ac8b65428574fb7d0cb8327b8b536b74720d8
Reviewed-by: Qt CI Patch Build Bot <ci_patchbuild_bot@qt.io>
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Qt for MCUs uses several features in the qmlproject files which
are unknown to QDS. It is important that this information does
not get lost when converting to and from the internal JSON
project format, to avoid breaking MCU projects.
The following changes were made:
- Files nodes keep the type (ImageFiles, QmlFiles...)
- Added support for more Files node types used by MCU projects
(ModuleFiles, InterfaceFiles, FontFiles...)
- Files nodes can have child properties
- Added a JSON object to store properties unknown to QDS.
They may be used by Qt for MCUs, and new properties may
be added between versions
- Added support for the MCU.Config and MCU.Module nodes
- Added a test project for MCU. This project is also tested
with Qt for MCUs. Both the original and the converted
project build correctly
- Added instructions for notifying the MCU team before
modifying the MCU test cases to avoid breaking changes.
Fixes: QDS-10774
Task-number: QDS-10969
Change-Id: I0dfd7f3b150a8661fc0398a8a3d575c7e8777ef3
Reviewed-by: Burak Hancerli <burak.hancerli@qt.io>
Reviewed-by: Yasser Grimes <yasser.grimes@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Reviewed-by: Qt CI Patch Build Bot <ci_patchbuild_bot@qt.io>
Update the way we used to check for mcus
project in McuSupport plugin. The old way
relied on the deployment step which is only
available when the user has already added a
valid QtForMcus package to "Devices->MCU".
The addition of "isQtForMcusProject" in
externaldependenciesinterface.h will be
used in a follow-up patch in
qt-creator/tqtc-plugin-qtquickdesigner
which adds a warning when using .qtbridge
for Mcu project.
Task-number: QDS-10599
Change-Id: Ibf46477a4f0cb4a82a10ac848acec75458bf6c03
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Aleksei German <aleksei.german@qt.io>
Reviewed-by: Yasser Grimes <yasser.grimes@qt.io>
This patch fixes issues with adding files to the project by
providing the absolute paths in the .qmlproject file.
- If a directory is given without an explicit file list,
then that directory wil be searched recursively.
- If explicit file list given without a directory, then each
file will be added to the project separately.
- If both provided, then each file wil be prefixed with given
directory, and added project separately.
Task-number: QDS-10636
Change-Id: Ia13964ce2b3f6364d1def1aa71e20ec29f6f3542
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Reviewed-by: Qt CI Patch Build Bot <ci_patchbuild_bot@qt.io>
'N' and 'D' phases are not supported by Perfetto. So I mapped it to
async events. This patch is improving the interface for arguments too.
Now you can select the type for you arguments. So the name can be a
string_view but the arguments can be a string.
The variadic template arguments are used to prevent any conversion code
which could not be optimized out for an empty function.
Change-Id: I1ad1927b5e3b63607a21df1351b1f5cfba50159c
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Reviewed-by: Qt CI Patch Build Bot <ci_patchbuild_bot@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
It is quite hard to define always an end to a trace. A move only
token can do that. The drawback is that the token gets bigger but only
compile them for an avtivated category.
Change-Id: I88b47c5b47e4129b1cd402e89251b45fa126111c
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Reviewed-by: Qt CI Patch Build Bot <ci_patchbuild_bot@qt.io>
The subcomponent manager is synchronizing some meta files with the item
library. The project storage is synchronizing types. Synchronizing both
is quite complicated. Moving the the functionality to the project
storage removes that synchronization task.
Task-number: QDS-10266
Change-Id: Icdf14fbe85d5c4891542acae85ebecf0ba77b45d
Reviewed-by: Qt CI Patch Build Bot <ci_patchbuild_bot@qt.io>
Reviewed-by: Vikas Pachdha <vikas.pachdha@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>