Commit Graph

7857 Commits

Author SHA1 Message Date
Alessandro Portale
90e691251f Fix install command in wizard generated CMake files for Android
"error: install TARGETS given no LIBRARY DESTINATION for module target
<...>."

Change-Id: I9b283e342b32c7d3df44bb5aed231b843e3e54ae
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2022-06-24 11:53:17 +00:00
Henning Gruendl
85cd97a334 QmlProjectManager: Update landing page
* Make landing page responsive
* Use QtCreator welcome page theme colors
* Remove CMake from landing page
* Separate colors from values to make mocking data less redundant
* Add quick version to qt version check
* Use qml singleton for backend instead of using the root context item

Change-Id: Ic303d4713c348e34197716031b303720702f3e98
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2022-06-24 11:48:35 +00:00
Brook Cronin
21ef02a016 update fixed version of icon font
Change-Id: Iedf945b3718d4df245e24ac1ba756b20f6ed9cf1
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2022-06-24 09:46:21 +00:00
Miikka Heikkinen
8a8a2f5c55 QmlDesigner: Unify the background of 3D preview images
Added 3D checkerboard floor on all 3D previews.
Since shadows generally look bad for arbitrary 3D scenes, and would
mostly be obscured by the model itself as we want the light mostly
from the front, removed shadows also from the material preview to unify
the previews.

Qt5 had issues rendering the 3D floor texture, so used a static image
there, as Qt5 only generates previews of one size.

Fixes: QDS-7078
Change-Id: I74d094878ed01e6e531ad60df1f8d9d7cf415860
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
2022-06-23 13:06:04 +00:00
Eike Ziller
69cbcb4cd5 Merge remote-tracking branch 'origin/8.0'
Change-Id: I3f218b52bf6904daca3779fb677e51f6f51f2f9f
2022-06-23 11:17:33 +02:00
hjk
8bb22fa4f3 Debugger: Fail gracefully on systems without working base64 module
Change-Id: I341b0fdb1c9e32fda3ce80f3e7569cffbb0708d2
Reviewed-by: Rafael Roquetto <rafael.roquetto@qt.io>
2022-06-23 08:26:02 +00:00
Henning Gruendl
5903d82c0b QmlDesigner: Fix hover color for ButtonRow
Use the default background color for ButtonRow buttons on global hover.
This needs to be done to distinguish between hover and global hover on
ButtonRow buttons as we unified the two colors as an attempt to make the
UI a bit less noisy.

Change-Id: I63f9c730367e9b906a772a63210c7ca548647352
Reviewed-by: Brook Cronin <brook.cronin@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2022-06-22 17:34:15 +00:00
Miikka Heikkinen
359f4f1767 QmlDesigner: Fix material editor/browser texts
Fixes: QDS-7083
Change-Id: Ib4a5269e275c7811a5645bbff54e3b0ec95ec302
Reviewed-by: Mats Honkamaa <mats.honkamaa@qt.io>
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
2022-06-22 10:44:59 +00:00
Miikka Heikkinen
41986d7942 QmlDesigner: Show IconButton tooltip also when button is disabled
Fixes: QDS-7076
Change-Id: If412827e22c6f71a9f073d1c868dcdb325870c1d
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
2022-06-22 10:44:50 +00:00
Henning Gruendl
2de2a4808a QmlDesigner: Fix FontComboBox drag'n'drop
* Fix URL schema to also work under macOS
* Avoid setting font name and further processing if error during font
  loading occurred

Change-Id: I9d07a3daad8f7c8c464422b0cf3f94d61e4b231d
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2022-06-21 12:22:56 +00:00
Thomas Hartmann
db8dbe25e0 QmlDesigner: Add a wizard for a ui.qml .qml file pair
Task-number: QDS-5963
Change-Id: I16ee8361779f11ca2f24f35877869f3e83279d10
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2022-06-21 12:16:40 +00:00
Tim Jenssen
c4e94c2c9c Merge remote-tracking branch 'origin/qmlprojectstorage'
Conflicts:
	src/plugins/qmldesigner/qmldesignerprojectmanager.cpp
	src/plugins/qmlprojectmanager/qmlproject.cpp
	src/plugins/qmlprojectmanager/qmlproject.h

Change-Id: I0c0d59c8e3b8455b6ac575d34fdf49f39388db7a
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2022-06-21 10:47:34 +00:00
Christian Stenger
fcb2807efa Wizards: Make PySide6 default
Change-Id: I6d84261e56dafcd55b7842e140d9c09935df70a8
Reviewed-by: David Schulz <david.schulz@qt.io>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2022-06-20 12:26:03 +00:00
Miikka Heikkinen
9c3636af49 QmlDesigner: Ensure materials render properly after puppet reset
This is a workaround for quick3d issue QTBUG-103316, where
material library materials for editor are properly initialized only
if the first encountered View3D in the scene is also rendered first.

Fixes: QDS-7084
Change-Id: I8bb6a8e6bfe2fcffddfe86f92157d386fdf4095d
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2022-06-16 13:53:43 +00:00
Samuel Ghinet
50aadacb6e QDS Editor 3D: Allow the user to select (and reset) the color of grid lines
Task-number: QDS-7122
Change-Id: I686269e61b53bd5e3d5d1225376930612d869072
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
2022-06-16 10:17:01 +00:00
Christian Kandeler
07dfd7c0b3 Wizards: Bump QtQuick import version in file wizards
Use 2.15 as default, plus a little heuristic to use the same version as
other files in the project.

Fixes: QTCREATORBUG-27614
Change-Id: Ic84db5da97a9f35a2ad0e57fd47b75fb32a0b7f8
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2022-06-16 08:23:14 +00:00
Eike Ziller
87645d7355 Fix Qt Quick Application wizard for Qt >= 6.2
Wrong variable used in the template's CMakeLists.txt resulted
in errors when configuring.

Amends db2cc2ba27

Fixes: QTCREATORBUG-27725
Change-Id: Id644ba83e118de1f12f4cdb4caa6368bd418419d
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2022-06-16 06:18:02 +00:00
hjk
7f7768cdd1 Debugger: Add simple dumper for QSettingsKey
Change-Id: Ieaa702051066e7dcf7f0bd44d869e5a231c19112
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2022-06-15 06:29:55 +00:00
Eike Ziller
db2cc2ba27 Add install command to wizard generated CMake files
Add a default install(TARGETS ...) command.
It doesn't hurt on desktop and mobile targets, and it is required for
deployment on remote Linux devices.

Change-Id: Ib39c6130b63a9a699ff5cd81756c2913b1246142
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-06-14 07:45:00 +00:00
Thomas Hartmann
7ae288d355 QmlDesigner: Use changed properties to update 3D preview
EffectReference is always dirty and it is the only dirty flag.
Instead, we update now if any property changed.

Task-number: QDS-7079
Change-Id: I157cf2d3b15120c33f4a6b3f53e526d555c7f80c
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
2022-06-13 08:35:11 +00:00
Thomas Hartmann
13c1b6f237 QmlDesigner: Do not apply smooth rendering if root is a 3D node
Task-number: QDS-7136
Change-Id: I5260153b8d6131160a8d4b67418e81c6f6e4d862
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
2022-06-13 08:12:39 +00:00
Miikka Heikkinen
dedbbc75b5 QmlDesigner: Apply root item transform in Node component previews
When generating a preview from a component with a 3D node for a root,
the root Node transform is now applied when calculating camera zoom.

Fixes: QDS-7131
Change-Id: I73054a09b3e82868c999ef6f9797dc941e625b33
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
2022-06-10 13:15:05 +00:00
Miikka Heikkinen
36dbc62a1d QmlDesigner: Queue puppet processes during import
On some systems launcing multiple simultaneous import processes causes
imports to fail. Fixed by only launching single process at a time
and queuing the rest.

Fixes: QDS-7107
Change-Id: I330c5920dcbd74d3b4f2e7f40899795a4fbaf3ac
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2022-06-10 09:31:03 +00:00
Thomas Hartmann
d8c605179a QmlDesigner: Add option for smooth rendering in form editor
Smooth rendering turns on MSAA and doubles the resolution for
rendered items. With this option enabled everything stays smooth when
zooming in. Around factor 8-10 pixels become clearly visible again, but
it still looks relatively smooth.
I added both MSAA and increased the resolution to one option, for simplicity.
The smooth mode takes 4 times the shared memory, which should not
be an issue in most cases.
For now, the option is not the default.

Task-number: QDS-7129
Task-number: QDS-7128
Change-Id: I8a778650bb40f8ba796960db9bc966e8a1efff4e
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
2022-06-10 09:04:11 +00:00
Thomas Hartmann
a5d501d22e QmlDesigner: Fix template
Add missing '}'

Task-number: QDS-7125
Change-Id: I7ecf80d681de0400368e28b98179488db560381e
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2022-06-09 07:32:44 +00:00
Assam Boudjelthia
1cf9d06675 Android: update NDK version for latest Qt version (Qt 6.4)
Since Qt 6.4 is built with NDK r23b, use that by default for
user apps as well. This is also needed to account for QTBUG-102972.

Task-number: QTBUG-102972
Change-Id: Id8485e0477b5e36c4d895582f5700c1f16b5a0c5
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-06-08 21:07:43 +00:00
Henning Gruendl
519f6fbda1 QmlDesigner: Add drag'n'drop to PropertyEditorView
* Implement drag and drop for UrlChooser and FontComboBox
* Change the style of controls accepting drag payload and drag hovering.
  Utilize states for those styles.
* Fix aspect ratio of drag pixmap
* Fix issue that causes drag to continue after pressing the escape key

Change-Id: I5cf67175abe936e60e8af00fa8c2f7a2dec355b3
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
2022-06-08 17:30:10 +00:00
Henning Gruendl
bd51b4fdc2 QmlDesigner: Add tooltips to UrlChooser
* Add tooltips with thumbnails to UrlChooser enable preview of image
  formats and meshes
* Add property editor image provider which makes use of the image cache
* Add mesh image cache collector in order to create thumbnails for
  meshes and built-in primitves
* Fix typo in explicit image cache image provider
* Add return value in time stamp provider if provided file does not
  exist

Change-Id: I2290d2ace87ddd90e9899e343f2ad1ecd2993fdf
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2022-06-08 17:30:01 +00:00
Henning Gruendl
1c6fa83648 QmlDesigner: Change FileResourcesModel
Change FileResourcesModel to have one list of FileResourcesItem with
properties absoluteFilePath, relativeFilePath and fileName instead of
having two separated lists.

Change-Id: Ib4b4884a6739658434844d2adb9c05c3871104e7
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2022-06-08 17:29:49 +00:00
Henning Gruendl
2e5892fbf0 QmlDesigner: Fix node component missing state prop
Fix node components not showing the states property in the property
editor. This is caused by querying majorVersion instead of
majorQtQuickVersion.

Task-number: QDS-6981
Change-Id: I0a87d921ce985f7fd58b92f526531c49622bb235
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-06-08 14:07:53 +00:00
Thomas Hartmann
55cf108f96 QmlDesigner: Update QDS version in template
Change-Id: I0bfbd469d49568ec2be0b6b936c46bbc9160fbcb
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2022-06-08 13:10:30 +00:00
Thomas Hartmann
9bd51f3d55 QmlDesigner: Make text label visible in 3d wizard
Task-number: QDS-7054
Change-Id: I44a2d01c799b619b553c6b1e76c003324e7b80ba
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2022-06-08 13:10:06 +00:00
Eike Ziller
84ff5eb169 Merge remote-tracking branch 'origin/7.0' into 8.0
Change-Id: Ib669e2e993c4675a7382f721ccb7d6ecff11fc20
2022-06-07 10:28:37 +02:00
Miikka Heikkinen
62ff1c9b52 QmlDesigner: Add material library to 3D application project template
Fixes: QDS-7065
Change-Id: Ifd270312c352d47facd32ff50543003171c0f718
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
2022-06-06 11:38:04 +00:00
Christian Strømme
3335698fba Import3D: Update call to importFile() after change in QtQuick3d
The function in QtQuick3d will from Qt 6.4.0 accept the json object
directly meaning it's no longer necessary to convert to a variant map
first.

Change-Id: If180672963cbfea78582f245431e246f84111c9b
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
2022-06-06 08:52:30 +00:00
Miikka Heikkinen
d1a56ddcfa QmlDesigner: Fix issues with quick3d private API changes in Qt 6.4
Change-Id: I5974c7f663262c88810ddaac6f9c775d95749266
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2022-06-03 13:25:44 +00:00
Aleksei German
35d8bc4ad8 QmlDesigner: Update MCUs metadata for MCUs 2.2
Task-number: QDS-7064
Change-Id: I645ece6228e30cb5d645c67a57b51f76e7375a3b
Reviewed-by: Aleksei German <aleksei.german@qt.io>
2022-06-02 14:38:39 +00:00
Eike Ziller
68c5968447 Merge remote-tracking branch 'origin/7.0' into 8.0
Conflicts:
	src/libs/utils/launchersocket.cpp

Change-Id: I7ec649485bb7fc7c299b571d92519d2b7fc9506b
2022-06-02 10:54:10 +02:00
Cristián Maureira-Fredes
ba22a5bdf9 python: add wizard project based on uic
This includes a new template that allow users to create
a UI based project, but without a dynamic loading.

To get the initial empty window, the user needs to use
a 'uic' tool to generate Python code from a UI file first.

This tool is different for PySide2, PySide6, PyQt5 and PySide6.

Change-Id: Ic12fe23696bf3b18eaf240ffac03e9bd92a5455b
Reviewed-by: David Schulz <david.schulz@qt.io>
2022-06-02 07:05:15 +00:00
Christian Kandeler
958531adbf Revert "QtSupport: Add support to register Qt versions via qtpaths"
The patch breaks several plugin unit tests; at the very least QtSupport,
AutoTest and ClangCodeModel.

This reverts commit 72aa77ced7.

Change-Id: Iaa7f452d0f43d0072b0bbcf8934fa0dcd6f9b240
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: hjk <hjk@qt.io>
2022-06-01 14:24:20 +00:00
Cristián Maureira-Fredes
c926ca2321 python: update wizard code style
- Updated the current code to use recommended code style
- Modify description of current wizards
- Adapt the documentation to reflect the new names of the applications
- Adapt exec() call for PySide6 (and leave exec_() for PySide2)

Change-Id: Iad662523b8a0e56ac622b21cee60f7928d419354
Reviewed-by: David Schulz <david.schulz@qt.io>
2022-06-01 12:06:46 +00:00
Samuel Ghinet
c3b90c0ce5 Allow changing the 3D Editor's background color
Task-number: QDS-6585
Change-Id: Ibcac69d3792b521b29dfbdce2d49557d36de99a9
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
2022-06-01 09:57:05 +00:00
Alessandro Portale
72aa77ced7 QtSupport: Add support to register Qt versions via qtpaths
qmake is a "build tool", and it is also a "query tool" when called with
parameter "-query". Qt Creator, so far, assumes that building and
querying with a Qt installation are done with one and the same tool:
qmake. This change adds the ability to register a Qt version vie either
qmake or qtpaths and still build with qmake, if that is installed (which
is not anymore mandatory from Qt 6 on).

1) Distinguish between Qt query tool and qmake build tool:
Add QtVersion::queryToolFilePath() to the existing
QtVersion::qmakeFilePath(), and use queryToolFilePath in most "query"
related code, and qmakeFilePath when building with qmake (e.g. in
QmakeProjectManager).
Also, a couple of functions and variables were renamed from *qmake* to
*queryTool* in order to express that the affected code is about
querying/managing Qt versions rather than about building with qmake.

2) Support manual Qt Version adding by qtpaths via file dialog
This change adds qtpaths to the "Add" Qt Version file picker filter.
After selection, "qtpaths -query" is executed for testing purposes. If
that fails, (e.g. because it is an older Qt version), qmake is instead
chosen, silently.

Task-number: QTCREATORBUG-22175
Task-number: QTCREATORBUG-25546
Change-Id: I4d9c1e7eec7d5ae7c5a8d2e1a1ed95addff69966
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2022-06-01 06:09:48 +00:00
Thomas Hartmann
d99a6d2efe QmlDesigner: Fix wizards
Since we define an import for QtQuick to distinguish between
Qt 6.2 and Qt 6.3, the way we determine "IsQt6Project" was broken.
This patch reuses "IsQt6Project" now to determine the default style name
and if we need a versions for imports.

Task-number: QDS-7053
Change-Id: I7b5fc0b76e71c2874f5e6ac8457ba1deb87bb999
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
2022-05-31 14:30:57 +00:00
Miikka Heikkinen
c789186418 QmlDesigner: Handle picking of models under View3D component properly
If a model defined inside the View3D component is picked on 3D editor,
the parent View3D is selected instead as there is no instance for
the model itself. This is similar to how Node based component picking
works.

Fixes: QDS-6934
Change-Id: I4f273972da8cb1c55f03cab323dd9804a5d10def
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>
2022-05-31 12:02:49 +00:00
Miikka Heikkinen
9b5c8448f0 QmlDesigner: Fix 3D application wizard quick3d import version handling
Change-Id: I80eecdcd5ac9938715b084bd8b89c82d62aa7323
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-05-31 09:12:16 +00:00
Mahmoud Badri
175343e24a QmlDesigner: Highlight material editor properties upon asset drag
When starting an asset drag in the assets view, highlight all
supported properties in the material editor.

Change-Id: I60935756e4c1384edcc284068163d08ebe529a05
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Samuel Ghinet <samuel.ghinet@qt.io>
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
2022-05-31 08:57:43 +00:00
Christian Stenger
b336ebafc3 QmlPuppet: Silence warnings
Change-Id: I25ebc3b33d5e636176f87af35ee2316e302f233a
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2022-05-31 08:32:29 +00:00
Miikka Heikkinen
80ea026fd8 QmlDesigner: Refactor library icon generation for imported 3D assets
Previously, icon generation was done at import time, but that was
wasteful, as we now have image cache backed icon generation
available for component library icons. Added the few remaining missing
bits to support icon generation for image cache and disabled the old
icon generation implementation for Qt6.

A few issues in fit algorithm for preview image generation were also
uncovered and fixed to make icons render scene in comparable size to
the old version.

Qt5 imports still generate using old way since component library
3D previews generation doesn't work on Qt5.

Fixes: QDS-6205
Change-Id: I5418fa19d86e81adcd184be023f1dfbc813d0bf5
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Samuel Ghinet <samuel.ghinet@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2022-05-30 14:16:53 +00:00
Miikka Heikkinen
46049bac32 QmlDesigner: Remove hardcoded timeout from 3D import puppet
It doesn't seem that this timeout is needed.

Fixes: QDS-6909
Change-Id: I7794d8548acd75fbb220a20458d091f413b5fcbb
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-05-30 14:16:27 +00:00