Adding a sentinel and making the iterator copyable makes it possible to
use it as a range in std::views.
Change-Id: I100edb39b601a2e02fd424115e362c67f2de39f1
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
The '.' file paths were always a workaround. Since some time the context
id is now
part of the source id. So a source ids can be generated from source
context id
without a file name.
Task-number: QDS-14672
Change-Id: Ia278b9d06030ca8ea6e150d0c7ffd762979d5d62
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
processtestapp target may be undefined, so `set_target_properties` may
fail. This can be fixed by passing the properties to
`add_qtc_executable`
Change-Id: Ib1525224d7430d02e48e84e42d952d359b543674
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Add undescore if given string starts with a digit, e.g. (_123).
Generate consecutive id if string belongs to reserved QML keywords, e.g.
(text1).
Task-number: QDS-13039
Change-Id: I0d5782ae666ea6060a4f765ded58624a08b3255f
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
With Qt 6.8 there we don't need the builtin.qmltypes anymore because
there is now the QML module. We used that code path for fake components,
too.
But that is problematic because we get errors if that components get
fixed in Qt.
Because we introduced already other ways, like unresolved type ids, to
handle that broken components, we should remove that code before we add
new features.
Task-number: QDS-14618
Change-Id: I82f3cdb77c44a0f1f8cf680763ddd1d4d7b9781c
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
PropertyMetaInfo::castedValue() now casts string values to urls
properly. This fixes UrlChooser controls in property view.
Adjusted the unit tests accordingly.
Fixes: QDS-14663
Change-Id: I2c3a47bcedb8b19af03a49a67b31d43d29e63b7e
Reviewed-by: Marco Bubke <marco.bubke@qt.io>
If there are no properties don't generate no properties for custom
properties.
Change-Id: I94b328d56b29df7b1727f10c7ffe664319c7ad02
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
From Qt for MCUs 2.10, the MCU.Config node can have child nodes,
not only properties. The qmlproject<->JSON conversion must also
support this to not break MCU qmlproject files.
Task-number: QDS-14595
Change-Id: I853fcf8a74f0397df4de6ce8c7861a2751f3bdf4
Reviewed-by: Knud Dollereder <knud.dollereder@qt.io>
Previously, when calling findFileOrDirectory() with the exact project
root directory, the code returned only mapped child entries or nothing,
skipping actual files (e.g., "InParent.qml") at the root level. This
patch adds a dedicated check for "originalPath == m_projectDir" that
performs a proper QDir-based listing, ensuring root-level files are
now included.
For example, in a default Qt Design Studio structure like
UntitledProject68/UntitledProject68/Screen01.qml, asking for
"UntitledProject68" previously listed only the subdirectory contents,
ignoring files in the root. With this fix, the root directory now
provides a correct file listing.
Task-number: QDS-13292
Change-Id: I69d274926adb51828eeee91ba3a154302824a909
Reviewed-by: hjk <hjk@qt.io>
Seems the build system is still broken. Lets enable it again after it
got fixed.
Change-Id: I297b7dbb91c9d5267bb05739b8db9543fc2f12c0
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Remoing unused exceptions and using source_location to simplify the
code. QmlDesigner::Exception is now derived from Sqlite::Exception.
Task-number: QDS-14575
Change-Id: I36325e6113313ae1e6c0b0fdc183be86f920db94
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
It is now returning a path and not anymore the content. So
ItemLibraryEntry stopps to resolve the path and adds the content. The
resolving is now happening as the element is created.
Fixes: QDS-14549
Change-Id: I16a46dcfe87980d07391d6970e755de9410c6d61
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Added support for SvgPathItem, Shape and ArcItem
Task-number: QDS-13932
Change-Id: I772586c24b6cd61ef00add9833815b5d9b43b7c7
Reviewed-by: Marco Bubke <marco.bubke@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
karchive has proven to not be reliable and slow.
We will replace it with an alternative library.
Change-Id: Ifecde85753c390b93cedb4b091c52e5157b4facf
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
This was OK to pass the enum directly as a handler, e.g.:
TimeoutTask(onSetup, DoneResult::Error);
but we couldn't pass a local value here, like:
DoneResult result = DoneResult::Error;
TimeoutTask(onSetup, result);
Decaying the handler fixes the issue.
Change-Id: I7117ef905a1690dadbbd4dbc519d81e39282628d
Reviewed-by: hjk <hjk@qt.io>
This reverts commit 97a37eb6fd, breaks tst_Process::iterations.
The new tst_CommandLine::testMultiQuote_win() fails in the CI, too.
Change-Id: I657b7bbf073a06a3175c88a25eba019dad2c830d
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
...and a very primitive test.
Note that the visualization of `QMultiHash::iterator` does not work
(this is a common problem for other containers too).
I am not convinced that making effort to make it work now is worth it.
Fixes: QTCREATORBUG-32313
Change-Id: If68cf17c8aa6d63da752aef07072725131bdbf52
Reviewed-by: hjk <hjk@qt.io>
There is now the QML module. So we don't need to parse the builtin
qmltypes files. We ignore java script extensions too. Maybe we can
remove the fake types too.
Change-Id: I7a89237bae945be9a22355c549ebc208ccbfaa33
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
To double-quote, we need to use '"'"' instead of \' since
that does not work.
Also adds a test for it.
Task-number: QTCREATORBUG-32325
Change-Id: I9c5b92e29de264ffb71c3b299746ee68052c8859
Reviewed-by: hjk <hjk@qt.io>
toString() is almost always the wrong conversion, but unfortunately
too easy to find and often even working at least for local setup.
This here raises the bar as the non-availability of the "obvious"
toString() hopefully helps people to think about the semantics of
the needed conversion and choose the right toXXX() function.
The chosen new name is intentional ugly to reduce the likelihood
that this (still almost always wrong) function is used out of
convenience.
Change-Id: I57f1618dd95ef2629d7d978688d130275e096c0f
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
An exception is a sign, that the data is not consistent. So we stop
updating and wait for updated data.
Change-Id: I1a4e796f585e1f3206c04779618413a9a6ab1af5
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
This partially reverts commit
3744160c3b due to
f60b641066 which reverted
Creator's behavior.
Change-Id: Ia241205d12e3742adcb246b94a5fefb174699fd0
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
The variations were renamed in Figma. Follow suit here in order to stay
aligned.
Change-Id: I797e00a3dfcdee4302e8b0b06d13392a1c0979bd
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Add the import paths used by the old codemodel to qmlls via "-I"
commandline parameter. This includes import paths passed from the
QML_IMPORT_PATH CMake variable.
The downside of passing the import paths as commandline parameters to
qmlls is that all QML module end up using the same import path. In
general, this is not the case, QML Modules with "DEPENDENCIES TARGET" or
"IMPORT_PATH" in their qt_add_qml_module()-call might have extra import
paths that other modules don't have.
An example for this is a QML Module linking to another static QML
module. It builds fine but qmlls can't find the static QML module
if its outside the Qml import path.
This scenario works fine when using QT_QML_GENERATE_QMLLS_INI.
Add a manual test project with such a QML_IMPORT_PATH CMake variable,
where qmlls should not warn about importing MyModule in Main.qml.
Task-number: QTCREATORBUG-31897
Change-Id: Ic4c048dfdacfc2de11db8973dcbdca83989af320
Reviewed-by: David Schulz <david.schulz@qt.io>
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>