Commit Graph

8310 Commits

Author SHA1 Message Date
Marco Bubke
d1694efc4f Sqlite: Update to 3.49
Reverts sessions behavior.

Change-Id: Ia7558bc146736ecdec5e36fba5cecf8c024543e2
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2025-02-20 18:29:50 +00:00
Marco Bubke
2c0d5b3f7a Sqlite: Make sqlite range usable for std::ranges
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>
2025-02-20 18:29:43 +00:00
Marco Bubke
50b2ff3c50 QmlDesigner: Remove '.' workaround in project storage
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>
2025-02-20 18:29:37 +00:00
Miikka Heikkinen
193684b88e QmlDesigner: Fix default value of canBeContainer
Fixes: QDS-14785
Change-Id: Iee57493a600705a6c357376b822c48fd3addcb32
Reviewed-by: Marco Bubke <marco.bubke@qt.io>
2025-02-20 13:41:58 +00:00
Tim Jenssen
9e6a2cc2da Merge remote-tracking branch 'origin/16.0' into HEAD
solved conflicts in:
	cmake/Utils.cmake
	src/libs/sqlite/sqliteids.h
	src/libs/utils/filepath.cpp
	src/plugins/effectcomposer/effectcomposermodel.cpp
	src/plugins/effectcomposer/effectcomposerview.cpp
	src/plugins/effectcomposer/effectshaderscodeeditor.h
	src/plugins/mcusupport/mcubuildstep.cpp
	src/plugins/qmldesigner/components/assetslibrary/assetslibrarywidget.cpp
	src/plugins/qmldesigner/components/devicesharing/devicemanager.cpp
	src/plugins/qmldesigner/qmldesignerprojectmanager.cpp
	src/plugins/qmlprojectmanager/qmlprojectexporter/resourcegenerator.cpp

Change-Id: Ia2f6ccfd39007dad1cb8317f5ac878109621aaa2
2025-02-17 18:08:12 +00:00
Alessandro Portale
7985dea963 Update application icons
Fixes: QTCREATORBUG-32142
Change-Id: Ic841b4066d6f66fd975d649c86dfed15d32ab2e4
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: Kai Köhne <kai.koehne@qt.io>
2025-02-14 14:12:12 +00:00
Thomas Hartmann
ee7caf30b6 QmlProject: Add .tga as suffix for image files
Change-Id: I4a788fdc2a4d5a71df56feee9a024a21fcf5ff52
Reviewed-by: Knud Dollereder <knud.dollereder@qt.io>
2025-02-13 15:15:51 +00:00
Jaime Resano
88bea338b1 Fix CMake configuration error, undefined target
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>
2025-02-12 15:13:01 +00:00
Christian Stenger
d301804992 SquishTests: Provide new settings for Windows
Change-Id: I9b7df60427c60f57f55fe3d163a0c5cea189150f
Reviewed-by: Jukka Nokso <jukka.nokso@qt.io>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2025-02-11 06:51:17 +00:00
Andrii Semkiv
6ac1b0d008 Debugger: Fix dumper tests
Enabled debugger to call functions in tests.

Replaced obsolete `QDateTime::toTime_t` with equivalent
`QDateTime::toSecsSinceEpoch`.

Fixed misc `operator %` overloads for subclasses of `Check`.

Amends: f4111637c4

Change-Id: I1608f491e613c4cdb669d437158a243c7c928c38
Reviewed-by: hjk <hjk@qt.io>
2025-02-10 09:57:20 +00:00
Rafal Stawarski
13df04ca02 QmlDesigner::Model - changes in id generator
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>
2025-02-07 12:25:24 +00:00
Marcus Tillmanns
5c81ad4e43 Utils: Fix filepath test compilation on Qt 6.5.3
Amends 22720fdd3e

Change-Id: Ie339cb8d793e99295635c13a7d8992d3d0cebcf5
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
2025-02-07 10:17:43 +00:00
Marcus Tillmanns
22720fdd3e Utils: Add FilePath::pathComponents()
Change-Id: I8741ea395435d90b30c2d07a1c33355213300ad7
Reviewed-by: hjk <hjk@qt.io>
2025-02-06 12:32:01 +00:00
Marco Bubke
733eb1515c QmlDesigner: Remove qmltypes code path
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>
2025-02-05 17:57:48 +00:00
Miikka Heikkinen
bab7025b02 QmlDesigner: Cast string property values to urls in PropertyMetaInfo
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>
2025-02-03 13:59:39 +00:00
Marco Bubke
4d4f0e394f QmlDesigner: Generate no text for no properties
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>
2025-02-03 11:19:42 +00:00
Sivert Krøvel
f2f53c5f27 QmlProjectManager: Support child nodes in MCU.Config
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>
2025-01-31 14:20:24 +00:00
hjk
7e83220301 Debugger: Add a note on expected behavior of manual thread test
Task-number: QTCREATORBUG-32424
Change-Id: Id567509fb9ad79e1a942fd65b66a8a02d2f73bb8
Reviewed-by: Andrii Semkiv <andrii.semkiv@qt.io>
Reviewed-by: hjk <hjk@qt.io>
2025-01-30 10:21:10 +00:00
Tim Jenssen
9b18c75177 Utils: Fix root directory listing in FileInProjectFinder
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>
2025-01-30 08:21:30 +00:00
Tim Jenssen
c42b2fcc54 Utils: add test fileinprojectfinder
Task-number: QDS-14611
Change-Id: I735dbe364cce3b3e15f75a49551d2536db7644d8
Reviewed-by: hjk <hjk@qt.io>
2025-01-30 08:21:14 +00:00
Przemyslaw Lewandowski
0bacfca377 DesignerCore: extend Model and NodeMetaInfo with Gradient type
Change-Id: I4d2ef153c82c7898f36498ed068d41ed7dbaa37c
Reviewed-by: Marco Bubke <marco.bubke@qt.io>
2025-01-29 07:06:06 +00:00
Marco Bubke
b657d35807 Sqlite: Adapt to session behavior change
They fixed a bug in the session implementation. Now it is throwing an
exception. Adapt the test to the different behavior.

https://sqlite.org/forum/forumpost/247a184a9b

Change-Id: I6e1ac9238890ec22771cf9a33aeb0732d6db7010
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2025-01-28 09:52:35 +00:00
Marco Bubke
83530a2e27 Sqlite: Disable test for broken build system
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>
2025-01-23 19:11:49 +00:00
Marco Bubke
2c0f17d0e1 QmlDesigner: Cleanup exceptions
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>
2025-01-23 18:40:01 +00:00
Marco Bubke
d91bd4cf1c QmlDesigner: Use Sqlite source location wrapper
Task-number: QDS-14575
Change-Id: I217d22da3bcf8a611dfa9b521495b5f6b646ef15
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2025-01-22 10:06:38 +00:00
Marco Bubke
780143f10d QmlDesigner: Change ItemLibraryEntry::qmlSource into templatePath
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>
2025-01-22 10:05:56 +00:00
Rafal Stawarski
18180d1a01 Extend NodeMetaInfo with new is<TYPE> checks
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>
2025-01-22 10:04:50 +00:00
Marcus Tillmanns
9ec2034b48 KArchive: Remove karchive
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>
2025-01-21 14:28:35 +00:00
Tim Jenssen
1f4a403321 Merge remote-tracking branch 'origin/15.0' into qds/dev
Change-Id: I13878d9e06ea2502d0b1afa1c3b4853a10459580
2025-01-21 15:24:58 +01:00
Christian Kandeler
ea7b16cb70 Fix warnings about unused return values
Change-Id: I9682c6b5a0bba400050e91fe89b2883f7bb6465f
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2025-01-21 10:09:57 +00:00
Jarek Kobus
830bee5254 TaskTree: Decay the handler when checking if it's DoneResult
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>
2025-01-20 12:35:41 +00:00
hjk
1e0d6084af Revert "Utils: Fix quoting on Linux"
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>
2025-01-17 08:24:27 +00:00
Andrii Semkiv
3b7e30349f Debugger: Add a visualizer for QMultiHash
...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>
2025-01-16 15:22:20 +00:00
Marco Bubke
f4a080344f QmlDesigner: Remove builtins and jsroot
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>
2025-01-16 14:41:51 +00:00
Marcus Tillmanns
97a37eb6fd Utils: Fix quoting on Linux
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>
2025-01-16 13:29:22 +00:00
Eike Ziller
fb1f75750e Merge remote-tracking branch 'origin/15.0'
Change-Id: Icedb7d174adc262f3b9d053549195d8ad15f1dd4
2025-01-16 09:08:05 +01:00
hjk
e23e8e509e Add a hint how to test remote linux setups with a CMake project
Change-Id: Icb792dc424ed86027b943d40f8c94190a9b57722
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Reviewed-by: hjk <hjk@qt.io>
2025-01-15 12:01:05 +00:00
Tim Jenßen
bc38591725 Merge remote-tracking branch 'origin/qds/dev'
solved conflicts in:
	src/plugins/qmldesigner/components/componentcore/resourcegenerator.cpp

Change-Id: I8d4b93bbb5dcdb94b9e399ee1b67c0565410857a
2025-01-15 09:15:43 +01:00
Miikka Heikkinen
3cf0a2929a QmlDesigner: Fix MSVC 2022 build
Change-Id: I0bdd1ac0630a77471a21cfdb66e43185a917387c
Reviewed-by: Marco Bubke <marco.bubke@qt.io>
2025-01-14 11:55:24 +00:00
Robert Löhning
471b7531a5 SquishTests: Improve tst_git_local for slow machines
Change-Id: I8ad2b9a2e7118527a898bd6868e72346837d02c7
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2025-01-13 15:52:13 +00:00
Eike Ziller
c6ea342bc8 Merge remote-tracking branch 'origin/15.0'
Change-Id: Ia9b2ce1abe8c34747b3ee27e1e89b5f4a2fdc2b0
2025-01-10 14:36:55 +01:00
hjk
2d9d6aa315 Utils: Rename FilePath::toString() into toUrlishString()
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>
2025-01-10 13:05:29 +00:00
Marco Bubke
2ae3ed203b QmlDesigner: Catch exceptions for project storage updating
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>
2025-01-09 17:27:37 +00:00
Robert Löhning
9ae3ed33c5 SquishTests: Revert expected error message in tst_QMLS02
This partially reverts commit
3744160c3b due to
f60b641066 which reverted
Creator's behavior.

Change-Id: Ia241205d12e3742adcb246b94a5fefb174699fd0
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2025-01-09 12:15:18 +00:00
The Qt Project
e606909c38 Merge "Merge remote-tracking branch 'origin/qds/dev'" 2025-01-07 15:13:22 +00:00
Jarek Kobus
103d67f821 TaskTree: Fix progress value on synchronous error
Add a test for it.

Change-Id: I86a1cf89efaef88b152c9db274ea712381cad407
Reviewed-by: hjk <hjk@qt.io>
2025-01-07 14:23:53 +00:00
Tim Jenssen
119993747e Merge remote-tracking branch 'origin/qds/dev'
Conflicts:
	share/qtcreator/templates/wizards/projects/qtquickuiprototype/wizard.json
	src/libs/sqlite/sqliteids.h
	src/plugins/effectcomposer/effectshaderscodeeditor.cpp
	src/plugins/qmldesigner/qmlpreviewplugin/qmlpreviewactions.cpp
	src/tools/tools.qbs

Change-Id: Ia89da2e6704c10f91f4066210cddd1f3239e85b9
2025-01-06 18:17:48 +01:00
Alessandro Portale
dcbfc31b41 Core: Implement "Tertiary" Figma-designed button variant
Fixes: QTCREATORBUG-32285
Change-Id: Ic3214b7d88eb568a59488211161a6d544602bb3e
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2025-01-05 22:44:16 +00:00
Alessandro Portale
946dadfdb2 Core: Rename Button::Role::Medium* to Button::Role::Large*
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>
2025-01-02 17:05:11 +00:00
Sami Shalayel
6ecfb9da36 qmlls: use import paths also used in old codemodel
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>
2025-01-02 09:35:00 +00:00