Commit Graph

88653 Commits

Author SHA1 Message Date
Marcus Tillmanns
097b24b77a qmljs: Use Utils::Locked in ModelManager
Improves access to locked data by using read/write locking.

Hardens thread safety by making sure that locked data is only
accessed when lock is owned.

Change-Id: I169fcd650cd905fc8625a341104ffbccc4c7c7c8
Reviewed-by: hjk <hjk@qt.io>
2023-12-04 12:44:00 +00:00
hjk
da15f6fa0c WebAssembly: Move the device infobar setup to the device files
Change-Id: I201c0f1dba59530e9e8183cb24974baed049196e
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2023-12-04 12:35:17 +00:00
hjk
e729c37d95 WebAssembly: Convert to new plugin setup scheme
Change-Id: I7d5def6084a0cc2cf164a4d72b693b44f8be7005
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2023-12-04 12:16:47 +00:00
Ali Kianian
8f6e90783c QmlDesigner: Fix the bug for importing json file
- Json objects are considered valid in the json arrays.
- Json arrays are removed from the row objects.

Fixes: QDS-11472
Change-Id: I89d7fb6d12952a994cf5e3aab0869154a3ab5d27
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
Reviewed-by: Shrief Gabr <shrief.gabr@qt.io>
Reviewed-by: Qt CI Patch Build Bot <ci_patchbuild_bot@qt.io>
2023-12-04 10:49:29 +00:00
Tasuku Suzuki
0afd50aa33 Git: Improve upper part of layout
In small screen, General Information and Commit Information fill more
spaces than their importance.
This commit changes their layout from vertical to horizontal.

Change-Id: I919f1ac5fd02f32fda54698b012330ecebbd6ab0
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: André Hartmann <aha_1980@gmx.de>
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2023-12-04 10:36:55 +00:00
Marcus Tillmanns
0e59c9e4e1 Utils: Add "findOr(..., nullopt, ...)" function
findOr(nullopt) returns either a value or a std::nullopt for the first entry
in a container where the predicate returned true.

This makes it easy to write constructs like:

if (auto found = Utils::findOr(container, std::nullopt, [](auto){ ... condition ...}) {
...
}

Change-Id: I6f8f0f9c0d8486c32395123d8c2dcba427887189
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2023-12-04 10:24:17 +00:00
Miikka Heikkinen
11a84a8754 QmlDesigner: Fix content library license check
Fixes: QDS-9680
Change-Id: I96a85bba779f373144fb04b4ede4b39f898957e6
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2023-12-04 10:21:17 +00:00
Christian Kandeler
f073db7f4c ProjectExplorer: Fix "unavailable" annotation of fixed run configs
Amends 058a931d27.

Fixes: QTCREATORBUG-29983
Change-Id: I4db546d1370909b55d6662d403be10e263c4e878
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: hjk <hjk@qt.io>
2023-12-04 10:06:44 +00:00
Ali Kianian
70f9e35c62 QmlDesigner: Polish the ui of the Model Editor
- The main toolbar of the Model editor is aligned with the rest
  of the ui
- Update/Save icon is updated
- Tooltips for save and export actions are modified
- Minimum size for the Model editor is applied

Fixes: QDS-11449
Fixes: QDS-11244
Change-Id: Ice389ae439ac855eb3a5d3197a2365e6d2506a90
Reviewed-by: Qt CI Patch Build Bot <ci_patchbuild_bot@qt.io>
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
2023-12-04 10:06:10 +00:00
Marcus Tillmanns
4153520fb6 TextEditor: Allow opening links without filename
... in editors displaying a document without a filename.

Change-Id: I857018e2532b406a37983d8fd77e52daa31ae70d
Reviewed-by: David Schulz <david.schulz@qt.io>
2023-12-04 08:33:11 +00:00
hjk
b380c2eb20 Valgrind: Use new setup pattern
Change-Id: I7f2651d12a80d56f6a4be63c5c63eba0ad3a4447
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2023-12-04 07:46:32 +00:00
Cristian Adam
3204002055 CMakePM: Check if the callStack optional has value
Amends edf4280bd9

Task-number: QTCREATORBUG-29965
Change-Id: I7deb6d5952cceaa1f238cdd02393a369c56e0376
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
2023-12-02 16:56:12 +00:00
Miikka Heikkinen
6e566bac27 EffectMaker: Hide properties that use custom value
These properties would require custom editor, so hide them for now.
Typically there is no need to change these values from defaults.

Fixes: QDS-11419
Change-Id: Ia91d48f5df86885420dccef47ed024af4cc8f430
Reviewed-by: Qt CI Patch Build Bot <ci_patchbuild_bot@qt.io>
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
2023-12-01 14:12:09 +00:00
Henning Gruendl
277463bb90 QmlDesigner: Fix ColorPicker EyeDropper
Task-number: QDS-11451
Change-Id: I8889e0475647bec480757652b84a5751642a6a07
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
Reviewed-by: Qt CI Patch Build Bot <ci_patchbuild_bot@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2023-12-01 13:55:34 +00:00
Christian Kandeler
73f8854263 ClangCodeModel: Fix following virtual functions
Don't indirectly trigger the regular callback once the proposal widget
was shown.
Amends 09e495f01a.

Change-Id: I9d2411f88c69488d63462318f48cef4a0eeeaed1
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2023-12-01 13:43:33 +00:00
Henning Gruendl
db0e1a62fc QmlDesigner: Fix UrlChooser tooltip binding loop
Task-number: QDS-11454
Change-Id: I519df644b4a034bcb103eeecc8bbf52504a9036d
Reviewed-by: Qt CI Patch Build Bot <ci_patchbuild_bot@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
2023-12-01 13:16:05 +00:00
Henning Gruendl
25ec12ac17 QmlDesigner: Fix property name for SectionLabel
Task-number: QDS-11469
Change-Id: I7b7d772792fe79d6d3ccc34e8a58c92a018cca6e
Reviewed-by: Ali Kianian <ali.kianian@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Reviewed-by: Qt CI Patch Build Bot <ci_patchbuild_bot@qt.io>
2023-12-01 13:15:16 +00:00
David Schulz
5d14e580ea ProjectExplorer: show kit warning in the wizard target setup page
Change-Id: I9aac268b902ed0a2dfd544811028affb480ed4d5
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2023-12-01 12:22:52 +00:00
David Schulz
a006c61507 JsonWizard: only check valid platforms
Change-Id: I6cb27b2b55dc82e5b04d060708ef2526e0a36461
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2023-12-01 11:51:47 +00:00
Christian Kandeler
81c39da7d0 Update qbs submodule to HEAD of 2.2 branch
Change-Id: Ief8758531017292fd87ac93a9653dc73b3ccbd3e
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2023-12-01 10:49:14 +00:00
Friedemann Kleint
b6c3de310e Fix crash when loading a .pyproject into Qt Creator with empty settings
The build system is 0 as long as no kits are created.

Change-Id: Ia7f283071740dabe76ff3dd6b2f59e5ca214b7c2
Reviewed-by: David Schulz <david.schulz@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2023-12-01 08:51:36 +00:00
David Schulz
c0a3565362 Python: Create a default BuildSystem for Python targets
This makes sure the project can be parsed even if we do not have a valid
build configuration for that target.

Amends 09e94ae4ac

Change-Id: I92214474f581af228bd5c2aaf2f3e4b620ffc9d5
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2023-12-01 07:01:10 +00:00
Henning Gruendl
64b50adbf6 QmlDesigner: Hide categories in Qt Insight view
The configuration file of Qt Insight changed its form which means
predefined categories were dropped and events took over. The insight
view needs to be improved in that matter. For the upcoming release we
hide categories all together in order to not create confusion.

Task-number: QDS-11443
Change-Id: Ia5faa8574d4c856c8a8ee341f74dc97094fc6cee
Reviewed-by: Qt CI Patch Build Bot <ci_patchbuild_bot@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2023-11-30 17:40:43 +00:00
Fabian Kosmale
04ebd7b9c3 QmlDesigner: Cleanup HelperWidgets ScrollBars
Change-Id: Ifc49b0a8c629cb6ed65851a782fe1280079b4a5e
Reviewed-by: Qt CI Patch Build Bot <ci_patchbuild_bot@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2023-11-30 17:38:45 +00:00
Fabian Kosmale
a6a8a094c5 HelperWidgets: Explicitly import Basic style
HorizontalScrollBar and VerticalScrollBar customizes ScrollBar. The
default Controls style used in Qt 6 depends on the platform the
application runs on, and in case of Windows, it will use the native
Windows style. The Windows style is not customizable. To avoid issues
(like warnings about transitionDuration not being defined), explicitly
opt into the Basic style, which can be customized.

Fixes: QTBUG-107771
Change-Id: I141b3466964e5c3c64b39ca73a85eac14b9b6202
Reviewed-by: Qt CI Patch Build Bot <ci_patchbuild_bot@qt.io>
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Henning Gründl <henning.gruendl@qt.io>
2023-11-30 17:38:35 +00:00
Christian Kandeler
21c078773f CppEditor: Un-skip some tests in clangd mode
These are passing now.

Change-Id: Iec784b9e85a0f06266efff2f301f82891d343d50
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2023-11-30 14:41:35 +00:00
Christian Kandeler
e3e9ca05c5 CppEditor: Consider clangd in SelectionsTest
Change-Id: I5e17b9c0e5c55c96c3d0f487872ffd1141bced33
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2023-11-30 13:46:10 +00:00
Christian Kandeler
a6150da076 CppEditor: Adapt function declaration
... when changing the name of a function parameter from a point of use,
rather than from the definition.
The normal function decl/def link mechanism only covers editing in the
signature.

Task-number: QTCREATORBUG-29925
Change-Id: I34ff90117685184b9fc72937b401976274f4876c
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2023-11-30 12:42:04 +00:00
Ali Kianian
85e8f7e998 QmlDesigner: Remove the collection source item from the ui
- Collection Source Model item is removed from the ui
- Collection items are realigned

Task-number: QDS-11416
Change-Id: Ia185907dec9221494c3551a3a679886910f9cfeb
Reviewed-by: Qt CI Patch Build Bot <ci_patchbuild_bot@qt.io>
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
2023-11-30 11:51:01 +00:00
Ali Kianian
4129c7703b QmlDesigner: Add DataStore Dynamically to the project
Task-number: QDS-11400
Change-Id: I0ad20a6aad604aa66d4d0f24ca32a19fb9e94a08
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
2023-11-30 11:50:48 +00:00
Mahmoud Badri
1423740e09 QmlDesigner: Add save icon to the icon font
Change-Id: Ic88f61f19142a42cc456cb85f836ea9ed5635c07
Reviewed-by: Qt CI Patch Build Bot <ci_patchbuild_bot@qt.io>
Reviewed-by: Ali Kianian <ali.kianian@qt.io>
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
2023-11-30 09:51:09 +00:00
Robert Löhning
b757ca9f7a SquishTests: Update expected tree for tst_cmake_speedcrunch
Change-Id: I13df997c6b265ba8795c7f1f3024c5deef5e2cad
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2023-11-30 09:25:52 +00:00
hjk
2bb29fd9b0 GenericProject: Use new setup for GenericProject itself
Change-Id: I8c18cd5372de1179bf6ebdcfabc6c50ac8f6d50f
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2023-11-29 17:43:48 +00:00
Leena Miettinen
7fd20e98d7 Doc: Edit info about state chart editor
- Convert paragraphs and lists into tables with icons to allow
  users to browse easier
- Move the info about using the wizard into a how-to topic
- Add subtitles
- Move the topic to Reference

Task-number: QTCREATORBUG-29361
Fixes: QTCREATORBUG-29766
Change-Id: Id9c1aabd8f3a7bfb0659898dd329cedbcbb5f697
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2023-11-29 15:23:51 +00:00
Leena Miettinen
09144e7a7f Doc: Describe how to get Qt Creator
Fixes: QTCREATORBUG-29594
Change-Id: Ic05329223cd32307b8474fc71c622c9f96d9d25b
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2023-11-29 14:30:50 +00:00
Ali Kianian
206ad75359 QmlDesigner: Assign a single collection model to the selected node
Task-number: QDS-11217
Change-Id: I35eb536540faa2299a51d152a29f07c2c36abe41
Reviewed-by: Qt CI Patch Build Bot <ci_patchbuild_bot@qt.io>
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
2023-11-29 14:11:26 +00:00
Ali Kianian
37cca63593 QmlDesigner: Cleanup the templates for DataStore
- Fix the bug which disables the live preview
- The singleton of the DataStore is defined once
- Also modifies the template file formats of the DataStore files

Fixes: QDS-11430
Change-Id: I67e0f64355dccdc32c031bb4dc0fb8edf3fdf64a
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
Reviewed-by: Qt CI Patch Build Bot <ci_patchbuild_bot@qt.io>
2023-11-29 13:42:07 +00:00
Eike Ziller
3b6dc15e04 Fix that target selector accumulated labels again
It was previously fixed in  1a43983ea6

Since then, adding the aspect to grid adds a label itself, so the self-
created label in setKit is irrelevant (it adds some empty space), and
the labels that are created for the aspects are accumulated again.

Instead of trying to delete the labels, create a wrapping QWidget.
Deleting this widget gets rid of any widgets that might have been added
when creating the grid of mutable aspects.

Fixes: QTCREATORBUG-29990
Change-Id: I5f2aebf9a865e532c9e24a29ec5979b11d17d43a
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2023-11-29 13:28:26 +00:00
Eike Ziller
d7ce872f80 Fix state of side bar buttons when switching different design widgets
When switching between different editors in Design mode (e.g. ui and
qml), the side bar buttons must update. So far they reacted on mode
switches, but not on changes of the main window while staying in the
same mode.

Change-Id: I85635f12bb8613e90ec81056d8763431c04fea2e
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2023-11-29 10:36:59 +00:00
Christian Kandeler
c20129a973 ClangCodeModel: Make VirtualFunctionAssistProcessor more safe
Let's not access the object state after emitting
ClangdFollowSymbol::done(), in case the receiver deletes us.
Can happen in test code.

Change-Id: Ia6c691c0f88b16476da1a6be1cedd106d9da2d53
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: David Schulz <david.schulz@qt.io>
2023-11-29 09:48:30 +00:00
Christian Kandeler
6ed456ed9e ClangCodeModel: Fix check for strings that look like file paths
Backslashes in the markup string are escaped with another backslash, so
we need to check for two consecutive ones on Windows.
Otherwise, qdoc/doxygen commands such as "\note" are interpreted as files
and trigger expensive I/O operations.

Fixes: QTCREATORBUG-29975
Change-Id: I822f57a8612274ff4112063928cab21b9d7ca792
Reviewed-by: David Schulz <david.schulz@qt.io>
2023-11-29 09:47:46 +00:00
Christian Kandeler
e0a06cda28 CppEditor: Allow tests to run with ClangCodeModel enabled
So that in the CI we can simply run:
  $ qtcreator -test CppEditor -load ClangCodeModel
There are some failures left, which we will tackle one by one in follow-
up patches.

Change-Id: Ic4ebcb82f6439b344ae055889a6a16d56b2e3206
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2023-11-29 09:46:24 +00:00
Christian Kandeler
711b976294 CppEditor: Also rename function comments for declarations
... that are not definitions.
Amends 0a058bb657.

Change-Id: I4ba19f915d653d05570f8cd244ea50ab40d4b9dd
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: David Schulz <david.schulz@qt.io>
2023-11-29 09:42:18 +00:00
Eike Ziller
1f34461088 IMode: Make main window an (optional) property
Un-virtualize IMode::mainWindow. If the mode widget is a main window
directly, that is handled automatically, otherwise provide a setter. It
is better to have a central point for setting it, in case that it isn't
the mode widget in the first place. Also, using Aggregation::query for
this is actually a misuse of Aggregate, which is supposed to combine
_independent_ objects, not objects that are in the same hierarchy (which
can crash if the child object is deleted first).

Change-Id: I35381e0a05645022aac72501492ea6347953cd55
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2023-11-29 09:22:57 +00:00
Eike Ziller
8d851fab0b IMode: Create private class
Change-Id: I64bafc4b8f73b78b7c775192c247ed635a367a39
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
2023-11-29 09:22:43 +00:00
Christian Stenger
a149c52e99 SquishTests: Start expecting Python kits
Python kits will be new in QC13. Do not let the squish tests
fail in case it stumbles over one.

Change-Id: Ic0af56f49321f6d5800d11398d2e73b21c25e51a
Reviewed-by: Robert Löhning <robert.loehning@qt.io>
2023-11-29 08:23:40 +00:00
David Schulz
78a4dbd2af ProjectExplorer: only show relevant Aspects in tooltip
Change-Id: I7dd1aafe980724c6a950533bf0055f37c47e68fe
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2023-11-29 05:20:30 +00:00
David Schulz
48a77b5b09 Revert "Aggregation: Fix crash when components are in parent-child relationship"
This reverts commit 12428bf1d6 because it triggers a qassert
in QObject::setParent when the object is a widget.

Change-Id: Ib9b76192f548cd3201fcb78a19ea88ccb5782ba2
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2023-11-29 05:20:19 +00:00
Thomas Hartmann
fa376883f0 QmlJSCheck: Ensure that ::createObjectsForImport always works correctly
If ::createObjectsForImport is called twice, then
m_objectsByQualifiedName already contains the type and an empty list is
returned. The returned list is used for the prototype lookup and
in this case the import is empty and the prototype cannot be found.
This happened for QtQuick3D.Effect when used from QtQuick3D.Effects in some
cases. There is a race condition. The second call to ::::createObjectsForImport
is quite rare.

Task-number: QDS-11069
Change-Id: I6dfe152224172d0d626625d24a53f36d4219372f
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
2023-11-28 15:52:49 +00:00
Thomas Hartmann
c5f023751f QmlDesigner: Use QDS 4.3 in project template
Change-Id: Ib9a6198512115780b6586242294c1c82fccd22dd
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2023-11-28 15:33:01 +00:00