Commit Graph

88532 Commits

Author SHA1 Message Date
Marcus Tillmanns
6e3aab5f1b Lua: Add Lua plugin support
Adds basic support for writing Plugins using the lua scripting language.
Lua Plugins are registered just as native plugins are and can be enabled
or disabled via the plugin dialog.

see src/plugins/lua/README.md for further details.

Change-Id: I9f4d15e9632c46e1c6c132bcd0bbcdd70b150640
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2024-04-16 13:11:18 +00:00
Miikka Heikkinen
8154e4c3d0 QmlDesigner: Fix override cursor on config dialog close in 3D view
Only restore override cursor on dialog destruction if it was actually
hidden by current dialog.

Fixes: QDS-12300
Change-Id: I8789e060244089c7d83e43926f841012602b27a5
Reviewed-by: Qt CI Patch Build Bot <ci_patchbuild_bot@qt.io>
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
2024-04-16 13:02:02 +00:00
Ahmad Samir
fcf2d20644 FSEngineImpl: fix the build with Qt 6.7
I, rather naively, cherry-picked the FileTime commit in
QAbstractFileEngine in qtbase, fd295f4bf6002b499f1f238efa5a7c8d9c90be39,
to the Qt 6.7 branch (commit 22d1a437cb4431a3e7ca1bf8e3b6ba4290d0a0cf),
so it will be in effect starting from Qt 6.7.1, which breaks the build
if you're using 6.7 HEAD. Thanks to David Faure for pointing this out in
the code review.

Change-Id: Ia94a75814321c5832099174f9a9c1b47a8cee23d
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
Reviewed-by: hjk <hjk@qt.io>
2024-04-16 12:16:49 +00:00
Jochen Becher
a296157f58 ModelEditor: Add dialog for adding related elements
Change-Id: Iae832885278472bb42a588fc97967ae5ffad6b71
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2024-04-16 12:13:03 +00:00
Knud Dollereder
e55b5d0a0b QmlProjectManager: Write cmake-generator issues into the issues panel
write qtquickcontrols file if it does not exist
and minor cleanup of the cmake generator.

Change-Id: I9b7523f32e5a9b41904c02a398a6f924623f949a
Reviewed-by: Qt CI Patch Build Bot <ci_patchbuild_bot@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2024-04-16 12:11:34 +00:00
Thomas Hartmann
b5aac705ea QmlDesigner: Indicate if a file is modified
Task-number: QDS-12361
Change-Id: I7a6c5f112b0f193f5bb975a331e2f0d44d19ddc2
Reviewed-by: Henning Gründl <henning.gruendl@qt.io>
2024-04-16 11:59:38 +00:00
Artem Sokolovskii
5b9f2d5b3e SCXMLEditor: Add conditions for transition
- Moved transition event name always above the line
- Added transition condition always below the line

Fixes: QTCREATORBUG-21946
Change-Id: Ib3525bd81c4bf4017998e4a6abfd5bc19b4876d7
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2024-04-16 11:31:26 +00:00
Jarek Kobus
f452431cdc Android: Use SingleShotConnection
Change-Id: Ica0bd011e7443ba91a016539196f660e133d6938
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2024-04-16 11:24:20 +00:00
Ali Kianian
3f597a5935 QmlDesigner: Modify the model editor files path
Task-number: QDS-12505
Change-Id: Ib35ba7ab8ce3c6a980770bd73385d1afab630a2d
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
2024-04-16 11:22:17 +00:00
Leena Miettinen
050cbc4609 Doc: Split "Profiling QML Applications" into how-to and reference
Some language and style changes.

Task-number: QTCREATORBUG-29361
Change-Id: Idb4a9bc3d5b3b194fafb4a4e3c756cf092a77457
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
2024-04-16 10:55:00 +00:00
Miikka Heikkinen
d385a2350b QmlDesigner: Reset camera speeds when project changes
Fixes: QDS-12297
Change-Id: Ia86f2290cdc94e637b7c12f48b379c429338ff0e
Reviewed-by: Qt CI Patch Build Bot <ci_patchbuild_bot@qt.io>
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
2024-04-16 10:52:31 +00:00
Christian Stenger
fe7203a57f Lua: Add Lua and sol2 3rdparty libs to qbs build
Change-Id: I74ad19ccf9243f131539285b883bfad005377897
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2024-04-16 10:45:22 +00:00
Marco Bubke
8ca37a3218 Sqlite: Update to 3.45.3
Change-Id: I8f52308d56619147393238ec04dfedad75d4139f
Reviewed-by: Qt CI Patch Build Bot <ci_patchbuild_bot@qt.io>
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2024-04-16 10:30:19 +00:00
Alessandro Portale
f61ba7c017 FakeVim: Remove unused function warning when building without WITH_TESTS
Change-Id: I33ad1a20046a51c4253056a23d49ac7ddc7a0c54
Reviewed-by: hjk <hjk@qt.io>
2024-04-16 10:17:01 +00:00
Eike Ziller
cf7933a980 iOS Simulator: Fix crash when starting app while another is running
Qt Creator would crash when starting an app in the Simulator while
another app is running, and the old app is not killed by the deployment
before run. This could happen in two cases:

1. Running an app in one simulator device and starting that or another
   app on a different simulator device
2. Running an app in the simulator and starting that or another app on
   the same device without deployment

In the first case, it actually doesn't make sense to stop the running
app, the Simulator can run multiple devices simultaneously (this might
have been different in the past).

In the second case, the new IosRunner initiated a stop of the old
RunConfig, and while that was in Stopping state, the app output window
tried to re-use the old tab and deleted the old RunConfig. This lead to
an assert in the RunConfigPrivate destructor, which only expects to be
deleted when in Initialized or Stopped state, and eventually to the
crash. The app output window should not reuse tabs that are not
"Stopped".

Fixes: QTCREATORBUG-30666
Change-Id: If46904dd487301e465e89ce7946be375ab4bdee8
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
2024-04-16 09:58:35 +00:00
Thomas Hartmann
1488548739 QmlDesigner: Fix reflection for CheckBox
Change-Id: Ib0268e5a015fb74c6691e7b3c51ca03f1f90ba55
Reviewed-by: Henning Gründl <henning.gruendl@qt.io>
2024-04-16 09:42:52 +00:00
Miikka Heikkinen
75fc181b34 QmlDesigner: Adjust imported 3D assets path
Path changed from GeneratedComponents/QtQuick3DComponents to
GeneratedComponents/QtQuick3D to avoid repeating Components
unnecessarily.

Fixes: QDS-12502
Change-Id: Ife81acddcd5ade7a23d2388b55416e2688a6828a
Reviewed-by: Qt CI Patch Build Bot <ci_patchbuild_bot@qt.io>
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
2024-04-16 09:21:06 +00:00
Cristian Adam
fa29657881 CMakePM: Rename source files in set_source_files_properties calls
Fixes: QTCREATORBUG-30174
Change-Id: I80b33c1193f4cd579abd295657dc223aad5801ea
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
2024-04-16 09:16:18 +00:00
Knud Dollereder
4ee7b297ce QmlDesigner: Adapt wizards to the new project structure
and removed some unused templates

Change-Id: I7e3e4a94ef31cbf5c98a0c1ad26dcaaa340c1e97
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
2024-04-16 09:08:41 +00:00
Christian Kandeler
2af7ac4aab CppEditor: Remove some unneeded includes from cppcodemodelsettings.h
Change-Id: I06bc37a100677c59488f5be3044462cda092640c
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: David Schulz <david.schulz@qt.io>
2024-04-16 09:04:27 +00:00
Christian Kandeler
11cd22a125 CppEditor: Hide CppCodeModelProjectSettings
Change-Id: Ie0e10610e7428f94e487261d2ffbc1cc44011f36
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: David Schulz <david.schulz@qt.io>
2024-04-16 09:04:05 +00:00
Marcus Tillmanns
caf79d6baa Lua: Add missing target defines
Change-Id: I772a1bb312da391c82548dba44bd5b9af61cda01
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2024-04-16 08:53:37 +00:00
Christian Kandeler
147f3fdcbd CppEditor: Hide writable global instance of CppCodeModelSettings
Change-Id: I87300fc1bb7a9621ae4b41a93cdc8639500a5155
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: David Schulz <david.schulz@qt.io>
2024-04-16 08:31:53 +00:00
Christian Kandeler
e52743ae81 ClangCodeModel: Fix context processor
Checking for potential include file completion should only consider
string literals, not number literals.

Fixes: QTCREATORBUG-30607
Change-Id: Ibfb422f1d8be5a5d30489383ecbc359f5ea4a2a9
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2024-04-16 08:30:46 +00:00
Marcus Tillmanns
9eac4aa758 LanguageClient: Use Layoutbuilder and Form
Change-Id: Id1b94ac4bfd838626a4be0a4912c7811c6cc490d
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: David Schulz <david.schulz@qt.io>
2024-04-16 08:24:13 +00:00
Jochen Becher
98bf52c2d6 ModelEditor: Support linked files and custom images
Change-Id: I1a5f8b19a4890e0bcbd5a2cf70fdee2cadf62a98
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2024-04-16 08:19:38 +00:00
hjk
b74f871b5b Debugger: Add a helper to visualize dumper profile data
A stripped-down and modified version of pyprof2calltree.

Change-Id: I9e37a4e13f312b40144394572ef6603bb2161487
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2024-04-16 07:14:16 +00:00
Mathias Hasselmann
cfb2a44c9e Core: Use Qt::CaseSensitivity for simple filtering
Converting each output message to lower-case is not that efficient, and
actually not even correct. Think of German 'ß' or the four versions of
'I' in Turkish. `QString::contains()` with `cs = Qt::CaseInsensitive`
does proper, but efficient compare folding instead.

Task-number: QTCREATORBUG-30167
Change-Id: I6cba0a98ec43d7c3c0f9953a194dc1733114523e
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2024-04-16 05:00:48 +00:00
Christian Stenger
564fed275e QmlJS: Add highlighting for enum usage
Highlights the enum and its values if valid.

Task-number: QTCREATORBUG-19226
Change-Id: Icca90b0a5d83a4ecdccfe220bcd0a3547b2e6104
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
2024-04-16 04:33:25 +00:00
Aleksei German
e8a47b1b8a QmlDesigner: Fix Properties Section for Effects
Change-Id: I249723f45b83731232acc9e68a6c4e27b85d6d11
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2024-04-15 16:11:44 +00:00
Thomas Hartmann
21f6cbe4e4 QmlDesigner: Adjust paths for new project structure
Before we used "content" but in the new project structure
we will use "ProjectNameContent" to make the uri unique.
First check for "content" to support older project.

Keeping only the implementation in DocumentManager::currentResourcePath()

Change-Id: Ib6b21f52c078fdb9a2ff31c02855754f83741538
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
2024-04-15 15:14:06 +00:00
hjk
1b4f1e5bd7 Utils: Inline rootinjectfsengine.h into its only user
Change-Id: Iac02bdf550ed313fec3a1c113583cd6ef1581d3e
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
2024-04-15 14:10:11 +00:00
Thomas Hartmann
3c13cf9493 QmlDesigner: Use the same location on macOS
Task-number: QDS-9979
Change-Id: I6a706b5325fd74221523cab4f2be838bdd871592
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>
2024-04-15 14:03:40 +00:00
Thomas Hartmann
4b0f31e823 QmlDesigner: Fix crash on shutdown
We have to set the correct onwership.
For objects from C++ QJSEngine::CppOwnership is the default,
unless the object comes from a function like here.

Change-Id: Idc35e2b06656da228a55d78e5b41f84795a8aa6e
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2024-04-15 14:03:29 +00:00
Thomas Hartmann
3aec095e50 QmlDesigner: Fix crash
Change-Id: I0b2080c19868efd92427f47bd344412e6460e126
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Reviewed-by: Qt CI Patch Build Bot <ci_patchbuild_bot@qt.io>
2024-04-15 14:03:19 +00:00
Marco Bubke
8694de43c0 QmlDesigner: Fix project storage build
Change-Id: Id734a9618103e61778a772eeb460c7eeb031f076
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2024-04-15 13:54:45 +00:00
Cristian Adam
f76e0de7bc CMakePM: Do not show subfolders for custom source_groups
CMake does have a few default source groups (cmMakefile.cxx):
  this->AddSourceGroup("", "^.*$");
  this->AddSourceGroup("Source Files", CM_SOURCE_REGEX);
  this->AddSourceGroup("Header Files", CM_HEADER_REGEX);
  this->AddSourceGroup("Precompile Header File", CM_PCH_REGEX);
  this->AddSourceGroup("CMake Rules", "\\.rule$");
  this->AddSourceGroup("Resources", CM_RESOURCE_REGEX);
  this->AddSourceGroup("Object Files", "\\.(lo|o|obj)$");

This commit will get Qt Creator to display the actual subfolder
structure only if the CMake setting "Show subfolders inside source group
folders" is set and for "Source Files" and "Header Files" source groups.

Any other source group or a custom source group defined by `source_group`
will not get this treatment, since this what the oder IDEs (e.g. Visual
Studio) and what the users expect to have.

Task-number: QTCREATORBUG-27432
Fixes: QTCREATORBUG-30620
Change-Id: I3c30814df2f76d18ee5fd4fd1356d4dfc4b9b09b
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2024-04-15 13:08:40 +00:00
Cristian Adam
4a95a2d63d Revert CMakePM: Treat all sourceGroups as sourcesOrHeaders project nodes
This reverts commit 973e9dcf90.

Fixes: QTCREATORBUG-30602
Change-Id: I9db6dc6d3fbd7d9a5e48a25bca725a4f86124318
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
2024-04-15 13:08:30 +00:00
Marcus Tillmanns
f4d5eadcee Lua: Add Lua and sol2 3rdparty libraries
Change-Id: I8960445bb579242a676daf9dcf7f99251de2b201
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2024-04-15 12:12:49 +00:00
Leena Miettinen
afc8816589 Doc: Restructure the "Analyzing Code" section
- Turn the topics into how-to and reference topics.
- Rewrite "Analyzing Code" as an overview topic.

Task-number: QTCREATORBUG-29361
Change-Id: Id02253514cd1dcd808f040ced7f9f73f6db5e113
Reviewed-by: hjk <hjk@qt.io>
2024-04-15 11:15:01 +00:00
Jarek Kobus
20e332b135 TaskTree: Introduce parallelIdealThreadCountLimit
Reuse the new element.

Fixes: QTCREATORBUG-30647
Change-Id: I79836a9243abcb1661c79842dcf6c33492342552
Reviewed-by: hjk <hjk@qt.io>
2024-04-15 11:05:18 +00:00
Cristian Adam
c431f24816 PE: Allow configuration of default build dir via env variable
This variable is QTC_DEFAULT_BUILD_DIRECTORY_TEMPLATE and can be set in
a <project>.shared file, or in the system.

Task-number: QTCREATORBUG-30557
Change-Id: Ife221b7cfe88f9a6015bd5fb61270d335f65cb79
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2024-04-15 10:50:26 +00:00
Miikka Heikkinen
401bbae862 QmlDesigner: Remove zoom level from affecting edit camera movement
When moving the edit camera with keyboard, zoom level no longer is
used as multiplier for the movement.

Fixes: QDS-12274
Change-Id: I59c903b73fef095e619cccc36868605b47f9ec83
Reviewed-by: Qt CI Patch Build Bot <ci_patchbuild_bot@qt.io>
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
2024-04-15 10:01:29 +00:00
Shrief Gabr
e5c50c6dea QmlDesigner: Change default view3D id in Extended 3D projects
Task-number: QDS-12351
Change-Id: Ib3ecb8e2f6ca1561819f19001d851b0932e9583f
Reviewed-by: Qt CI Patch Build Bot <ci_patchbuild_bot@qt.io>
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
2024-04-15 09:52:56 +00:00
Marco Bubke
b01522f102 QmlDesigner: Skip QQuickItem in QtQuick.Templates
Otherwise we have to QQuickItem meta info objects and that creates bugs.

Fixes: QDS-12460
Change-Id: Iaf76df6671c4ca73913285b78bf1d6408fbe93be
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Qt CI Patch Build Bot <ci_patchbuild_bot@qt.io>
2024-04-15 09:26:53 +00:00
Marco Bubke
047b2ef361 QmlDesigner: More unique ptr
Change-Id: Iabce3eb5eb8832c0edf8864adeb7d7a56d965a3a
Reviewed-by: Qt CI Patch Build Bot <ci_patchbuild_bot@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2024-04-15 09:26:30 +00:00
Marco Bubke
7883f15299 QmlDesigner: Fix component file path
Change-Id: I9e5f5dc4906c9c498e4a54f92a7d8a105e0399a1
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Reviewed-by: Qt CI Patch Build Bot <ci_patchbuild_bot@qt.io>
2024-04-15 09:26:23 +00:00
Marco Bubke
316d88bd12 QmlDesigner: Extract default property in qml document parser
Change-Id: I2b3576312cc2bec0c2e103fd3f342a5fe059b10c
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Reviewed-by: Qt CI Patch Build Bot <ci_patchbuild_bot@qt.io>
2024-04-15 09:26:14 +00:00
Marco Bubke
665d043e72 QmlDesigner: Extract default property in qmltypes parser
Change-Id: I0cc9ac71ba764db252e302d11d1cd3e4aff834f5
Reviewed-by: Qt CI Patch Build Bot <ci_patchbuild_bot@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2024-04-15 09:26:02 +00:00
Marco Bubke
afd1b3b6e9 QmlDesigner: Lookup the default property in prototypes too
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>
2024-04-15 09:25:51 +00:00