Commit Graph

79306 Commits

Author SHA1 Message Date
Miikka Heikkinen e82898a184 QmlDesigner: Implement basic lights baking support
It is expected that user manually specifies all necessary light baking
related properties, including exposing them from subcomponents if
needed.

qlmdenoiser that is used to denoise generated light maps is a third
party application. It can be found here:
https://git.qt.io/laagocs/qlmdenoiser

Fixes: QDS-9403
Change-Id: Ida6fc142440b9ffa8cc97d578f85d8b76cb4b43f
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
2023-04-06 15:19:23 +00:00
Samuel Ghinet 2175b976fb QmlDesigner: Fix material no longer downloadable if once canceled
Task-number: QDS-9618
Change-Id: Ic3bb6594611dc51e34e0a6e4456749539b1cf211
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
2023-04-06 13:06:56 +00:00
Thomas Hartmann 55deedb1a7 QmlDesigner: Support Qt 6.5 in wizards
Task-number: QDS-9543
Change-Id: I6999843cac01e7402bf30e5b5d9476a03330b796
Reviewed-by: Samuel Ghinet <samuel.ghinet@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2023-04-06 08:15:45 +00:00
Thomas Hartmann ae8ec8f08e QmlDesigner: Update MCU template to Qt 6 imports
Change-Id: Icd43a5b60b044516da396797363bc7828c1fd7c6
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Aleksei German <aleksei.german@qt.io>
2023-04-05 17:40:44 +00:00
Ali Kianian 4dfe3d31eb QmlDesigner: Use icon-fonts as the source of backspace icon
The backspace icon used to be drawn by painter lines, and this method
is replaced by an icon-font symbol.

Task-number: QDS-9513
Change-Id: Iaa19f286bc961d71ddc182bd2c431bc024c7aa79
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2023-04-05 15:18:38 +00:00
Burak Hancerli 66d72433a6 QmlProject: Refactor QmlProjectManager
- feature: JSON based project manager plugin
- feature: functionality to write QmlProject file
- tests: tests for QmlProjectItem

Task-number: QDS-8810
Change-Id: I8989e54577e9cd883bd76346e22774cc7f7ed93f
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2023-04-05 15:13:43 +00:00
Ali Kianian 4871e472c4 Fix the wrong condition for the menu style
Change-Id: I9a3b2602c4baaa7f2d7cba20bcc94b04f093ceef
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2023-04-05 15:12:46 +00:00
Thomas Hartmann 0bc362598e QmlDesigner: Bump QDS version in project templates
Change-Id: Iff3570925fcfccb0e907fd2406b0c4474a355796
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2023-04-04 14:57:31 +00:00
Thomas Hartmann 592f66ad6c QmlDesigner: Add Qt 6.5 support in TextToModelMerger
Change-Id: Ie7380d50195f04868fe912a75de772087353347e
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2023-04-04 14:57:12 +00:00
Thomas Hartmann 1ecc500e5d QmlDesigner: Fix crash
In doTransition we start and stop animations.
Therefore the lookup for anim has to be done separately.

Task-number: QDS-9621
Change-Id: I608799a997d48acef7496a985505f896113068d1
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2023-04-04 14:04:05 +00:00
Thomas Hartmann fd06bc9eca QmlDesigner: Fix evaluating the expression can have a side effect
When the "target" of the PropertyChange is set, then evaluating
the expression has a side=effect that stops the binding from working.
Fixing this specific corner case.

Task-number: QDS-9612
Change-Id: I0859433ff5b2c10dd1d3a6c02e5c133e5d55fdcd
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2023-04-04 13:59:42 +00:00
Ali Kianian 9a90c35719 QmlDesigner: Fix the size of the shortcut text of Menubar items
Task-number: QDS-9274
Change-Id: I0c49cdc5761209b0876a9445c2ec108a93f00885
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2023-04-04 13:21:54 +00:00
Alessandro Portale 502c119d30 QmlDesignerBase: Add CONDITION on Qt::QuickWidgets
For the case that Qt Creator is configured with a Qt that misses
QuickWidgets.

Change-Id: I7683ce091bd9f8fb6d95694484ba23c68efc19f6
Reviewed-by: Marco Bubke <marco.bubke@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2023-04-04 11:35:00 +00:00
Marco Bubke 318bb02801 QmlDesigner: React on watcher notification
The watcher notifies the updater if files or directories are changed.
The updater then does minimal updates to the project storage. Common
cases like that the qml documents or qmltypes are changed are handled by
an extra path. Otherwise we trigger a directory update. If the directory
is in 'strange' state like the qmltypes file is removed but the qmldir
is not updated the changed file ids are saved and used additionally in
the next notification.

Task-number: QDS-9479
Change-Id: Ie82fd914b2e229f0315bf60df398c85477ce5a26
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2023-04-04 10:44:09 +00:00
Marco Bubke d371bf18a2 QmlDesigner: Optimize copies
Use string views instead of strings to avoid copies.

Change-Id: I4649a3c87a0b58cc3f87d01e4fa047f459f52603
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2023-04-04 10:43:48 +00:00
Tim Jenssen c04f0e5d9c Increase the minimum macOS version to 10.15
Qt 6.5 doesn't support 10.14 anymore, because it
uses std::filesystem.
QmlDesigner also wants to use std::filesystem.

Change-Id: I36c14c6efa439c9372eb0d8bf90d1024e8b532eb
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2023-04-04 10:12:43 +00:00
Esa Törmänen 53ce5d6dff Doc: Add Qt Quick Ultralite macro
Task-number: QDS-9613
Change-Id: I8b3dc970d2ca335f9efb320eb22b41891d96f498
Reviewed-by: Mats Honkamaa <mats.honkamaa@qt.io>
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
2023-04-04 08:51:14 +00:00
Esa Törmänen ae6c686836 Doc: Add Qt for MCUs macro
Added a new Qt for MCUs macro and modified a number of related topics
accordingly.

Task-number: QDS-9609
Change-Id: I6506a9cb6671c29d5b164d53cb01c827639ecb16
Reviewed-by: Mats Honkamaa <mats.honkamaa@qt.io>
2023-04-04 06:39:19 +00:00
Ali Kianian f31cd97404 QmlDesigner: Implement StudioStyle
- StudioStyle is implemented as an independent style dedicated to
QmlDesigner.
- QmlDesigner style part is removed from ManhattanStyle.
- Buttons are handled in StudioStyle.
- An standard palette is defined for StudioStyle.
- StudioStyle is applied to the application by QmlDesignerBasePlugin.

Task-number: QDS-9274
Change-Id: Id0a9040d82b6228a8fb215a416a916be116542bc
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2023-04-03 13:51:07 +00:00
Marco Bubke 48ad79ee1e Utils: Introduce UniqueObjectPtr
We very often want to remove a Qobject in a scope but because it has a
parent it can be deleted earlier. So using std::unique_ptr can lead to
double deletion. UniqueObjectPtr can track if a pointer is already
deleted. So no double deletion is possible but we still delete the
object in that scope. UniqueObjectPtr is based on std::unique_ptr but
uses a QPointer as internal pointer representation.

Because QPointer is not convertable you cannot cast from one type to
an other(QTBUG-112464). Because of that UniqueObjectInternalPointer
derives from QPointer and adds a conversion constructor.

Change-Id: I2c7707489f6db836cc5db2463efa8c33932b6455
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2023-04-03 12:48:11 +00:00
Thomas Hartmann a45bc00a0f QmlDesigner: Disable possible imports in toText
In this context this is not required.

Change-Id: I04e74661bafe9dd9a0f72fc17cb4e6cf01e564fe
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2023-04-03 09:54:10 +00:00
Thomas Hartmann 61d89aba67 QmlDesigner: Disable possible imports in createQmlObjectNodeFromSource
In this context this is not required.

Change-Id: I6d801eb11af1f60ed67b84bdd3db4d3db41da04e
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2023-04-03 09:54:03 +00:00
Thomas Hartmann 6f1657fa06 QmlDesigner: Fallback to root context
If we cannot resolve an expression in the proper context,
we fallback to the root context.
The current context should be always a child of the root context,
but there are issues reported to be fixed by this.

Change-Id: I3f91641ea10fd0fa3bf22a93455e291013f5acc1
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2023-04-03 09:53:32 +00:00
Thomas Hartmann 42d84e012c QmlDesigner: Use simplifiedTypeName to strip "QML" prefix
Task-number: QDS-9608
Change-Id: I4fb59e603a0ab31727ee60a8af5b2c3ab4dfdf9b
Reviewed-by: Henning Gründl <henning.gruendl@qt.io>
2023-04-03 09:47:40 +00:00
Thomas Hartmann 60646fa6ac QmlDesigner: Ensure statusbar spans the complete widget
Task-number: QDS-9512
Change-Id: I6b4cb31ea7de7e8735450f327050290f15351b96
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2023-03-31 16:33:34 +00:00
Thomas Hartmann 07adb77dd1 QmlDesigner: Add action for taking screenshots
Task-numner: QDS-9431
Change-Id: I091e8cef646d08ee67935e2b3cea903b68a37a0c
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2023-03-31 16:33:22 +00:00
Samuel Ghinet 9c7dcea60b QmlDesigner: Fix new folders (same name) not automatically expanding
When a user created a new folder with the same name as an existing
folder in that same location, the folder was not automatically
expanded.

Task-number: QDS-8866
Change-Id: I82ec4303a30d8f810417deea68b487e1b55833d5
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
2023-03-31 13:44:14 +00:00
Mahmoud Badri 81df14a2ed QmlDesigner: Fix missing import from ConfirmDeleteFolderDialog
Change-Id: Ifd3970dab52f2e09c42738354759e188fe39d1ca
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
2023-03-31 09:46:12 +00:00
Mahmoud Badri 515b2fb7b8 QmlDesigner: Fix assets dialogs wrong background color
Fixes: QDS-9600
Change-Id: I85faeecbc58561892af3001537fb1aafad6af06c
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
2023-03-31 07:43:03 +00:00
Samuel Ghinet dbf91a8f03 QmlDesigner: Fix Material download not showing any progress
Also, now delayed the finish part by 200ms so that 100% progress would
be visible to the user.

Task-number: QDS-9562
Change-Id: Ie8f87ff70770b206256d4dbf0c08227723067eeb
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
2023-03-31 07:26:45 +00:00
Mats Honkamaa b97ea976cd Doc: Remove conditional statements from docs
Task-number: QDS-9484
Change-Id: Ib494dbf729ba77e64aa1fb1060b6dcc31fbf818c
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
2023-03-30 13:14:36 +00:00
Samuel Ghinet 129153e663 QmlDesigner: Allow user to download multiple textures at once
Task-number: QDS-9224
Change-Id: Ia1ec8f8b0951e8dd31d47f64509d39137cdeaa41
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
2023-03-30 12:26:36 +00:00
Marco Bubke 21b598805e QmlDesigner: Delete tool bar and status bar with plugin
The parent of the tool and status bar are widgets in icore. So they are
not deleted at the same time as the rest of the qmldesigner plugin. So
the connections are still there and you get dangling pointer. Deleting
them with plugin prevents this dangling connections.

Change-Id: I489d18c037c67ce34326651e693e74c4d951c261
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2023-03-30 11:29:21 +00:00
Ali Kianian 5b28748554 QmlDesigner: Consider suffix for Qml ComboBox
Task-number: QDS-9489
Change-Id: I77b883167db24deea44fa465c297c990a0d56a71
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
Reviewed-by: Henning Gründl <henning.gruendl@qt.io>
2023-03-30 09:16:48 +00:00
Samuel Ghinet b9b2121ae1 QmlDesigner: Show a placeholder text in the Content Library when empty
When QDS starts for the first time, and there is no internet connection
(to download the materials bundle and the textures bundle), tell the
user that the problem might be the internet connection.

Task-number: QDS-9539
Change-Id: I81311bf00c830b76019e0edb53eeb980362a1339
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
2023-03-30 09:12:28 +00:00
Ali Kianian 3f5fbfc25b QmlDesigner: Fix the text overlap for TopLevelComboBox
Task-number: QDS-9464
Change-Id: I72e6e855c0b7ebeb6893fe9a4f463b6ef6197248
Reviewed-by: Henning Gründl <henning.gruendl@qt.io>
2023-03-30 07:37:05 +00:00
Mahmoud Badri 0b79db5c17 QmlDesigner: Close section's context-menu on view focus out
When clicking outside any view that has sections and a section's
context-menu is visible, it is now closed.

Fixes: QDS-9564
Change-Id: I73cd3a9754c5a18360427525a2a943c2c549e83f
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Henning Gründl <henning.gruendl@qt.io>
2023-03-30 07:31:24 +00:00
Samuel Ghinet 0d73fae212 QmlDesigner: Fix texture metadata no longer showing on hover
After the changes that made the texture icons downloadable, hovering
over the download button of a texture no longer showed metadata. The
reason is that the structure of the json metadata file changed a bit
-- now we have a top item with children "version" and "file_items".

Task-number: QDS-9575
Change-Id: Ib41d7871e3b3c0a0c759de5d0277c3ee7c974d4f
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
2023-03-29 15:26:54 +00:00
Samuel Ghinet a59cf942e0 QmlDesigner: Fix materials & textures not shown when internet is down
If internet is down, or, for some reason, the URLs are inaccessible,
then we should still show the existing materials and textures.

Task-number: QDS-9582
Change-Id: Ic9516c7bc00a37d1c3cd31643749f51a217bf317
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
2023-03-29 15:26:15 +00:00
Mahmoud Badri 0184e38708 QmlDesigner: Fix typo in anchors property names
Change-Id: Ibb100babdc1d98bd0c75bda11ac3b184efb0e480
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2023-03-29 15:25:38 +00:00
Thomas Hartmann 31347c0506 QmlDesigner: Fix crash
The file node can be null if a new file was just added.
This worked before the 10.0 merge, but could be timing related.

In any case the check is good practice.

Task-number: QDS-9584
Change-Id: Ic01b763c6ba4466832316a454a12ccbdc1a6cc64
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2023-03-29 14:21:00 +00:00
Thomas Hartmann 1c6e7c796b QmlDesigner: Fix crash
The nullptr does crash. We can use a proper QmlJSQuickFixAssistInterface
created from the editor instead.

Task-number: QDS-9573
Change-Id: I5ea2792acb311c37e1005ff039ed7110503dfb4f
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2023-03-29 12:29:15 +00:00
Tim Jenssen 26365f34d4 Merge remote-tracking branch 'origin/10.0' into qds/dev
Change-Id: Idd5eac05f3506387e5f1884e22cc2c902032bbe1
2023-03-29 13:42:04 +02:00
Eike Ziller 81a5e2143c README: Add section on getting sources from git
Change-Id: I81b8d0e4e6d8df460f85bdd90b4688df2987bf6c
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: David Schulz <david.schulz@qt.io>
2023-03-29 08:34:10 +00:00
Thomas Hartmann bcd74a2fad QmlDesigner: Fix crash
The buildsystem might be missing.

Change-Id: I05e03f59a2fcb49ce1ff7a2521ed1af165730b51
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2023-03-28 15:09:00 +00:00
Marco Bubke c940cc5466 QmlDesigner: Fix access to nullptr
We try to access projectStorageData but it does not exists. Now we
return a dummyProjectStorage() instead. Because it is never accessed if
we don't use the project storage we should be fine.

Change-Id: Ic36a27472e95012b29b15ad33d2abe01507d64b4
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2023-03-28 14:57:16 +00:00
Brook Cronin 17cb071012 QmlDesigner: "add small backspace icon"
Change-Id: Id5e23b536c7e4a0eb3778a66ec003ba4eb7c1e77
Reviewed-by: Ali Kianian <ali.kianian@qt.io>
Reviewed-by: Henning Gründl <henning.gruendl@qt.io>
2023-03-28 14:29:40 +00:00
Leena Miettinen df53b7c9b7 Doc: Add docs for Peripheral Registers view in Debug mode
Task-number: QTCREATORBUG-28778
Change-Id: I17b66417c943c08295a8e7fb9936e5f8d28b9263
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2023-03-28 14:19:39 +00:00
Christian Stenger c46dff0199 SquishTests: Fix checking for build issues
Do not count code model issues as build issues when checking for them.
Fixes tst_build_new_project on the Linux machines which fail for unknown
reasons.

Change-Id: I2cd77b0208019fc902742197c0def6d3811cfced
Reviewed-by: Robert Löhning <robert.loehning@qt.io>
2023-03-28 13:20:10 +00:00
Sivert Krøvel 22909726eb McuSupport: Bring tvii and rh850 kits up to date with latest QUL
Bring recently changed kits up to date with QUL repository.

Task-number: QTCREATORBUG-28684
Task-number: QTCREATORBUG-28833
Change-Id: Id70268584891a72659930817a5c8458418a9f3b0
Reviewed-by: Yasser Grimes <yasser.grimes@qt.io>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2023-03-28 13:18:25 +00:00