Commit Graph

72811 Commits

Author SHA1 Message Date
Mahmoud Badri
645e479a1a QmlDesigner: Show placeholder text when content lib user is empty
Fixes: QDS-12910
Change-Id: I3f490bfa14c1479ea7541bb0298670da5db37edc
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
2024-06-13 13:16:37 +00:00
Christian Kandeler
ccae4fc93c CppEditor: Consider #pragma once when inserting includes
Fixes: QTCREATORBUG-30808
Change-Id: Ib9f2ed1e428abfaa608b9dc42bc09dd2d403ee56
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2024-06-13 13:03:08 +00:00
Marcus Tillmanns
39c1d82f46 Lua: Implement lua pluginspec specific version check
Change-Id: I52c496c177c949056ff5e7a4ff7b903a028620b1
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2024-06-13 12:52:14 +00:00
Marcus Tillmanns
20a6a5cd78 Extensionsystem: Allow pluginspecs to customize how they want to check dependencies
Change-Id: I84f3a56160588e4842301f4577f7bfdad96463ca
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2024-06-13 12:52:08 +00:00
Mahmoud Badri
4a3b9e78c6 QmlDesigner: Add versioning to exported bundles
Change-Id: Icd7f6eea5e4691388586fc72d65998a74d6d0058
Reviewed-by: Ali Kianian <ali.kianian@qt.io>
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
2024-06-13 12:43:04 +00:00
Ali Kianian
28af0f1394 QmlDesigner: Validate the id for texture before setting it
* Also updates the texture id when it's changed from another view

Fixes: QDS-12992
Fixes: QDS-12995
Change-Id: Iee39feff5e1790b507d908664ad551db33a9b61d
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
2024-06-13 12:05:33 +00:00
Thomas Hartmann
88f6f52cd4 QmlDesigner: Fix nested directory imports
Task-number: QDS-12813
Task-number: QDS-12793
Change-Id: I95efb2704b60c07e1fd8b176db4ba5878765f3bf
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
2024-06-13 11:55:42 +00:00
Christian Stenger
52a8aa7d09 FakeVim: Handle highlights for more split actions
This fixes the issue at least for all usual FakeVim commands.
It still breaks if the user directly uses the respective
buttons on the editor toolbar, but that is a different story.
Amends 5ad790d5c8.

Task-number: QTCREATORBUG-28914
Change-Id: I0a69d1f50eb6788099ac93bb529f72502cbd6ed0
Reviewed-by: hjk <hjk@qt.io>
2024-06-13 11:50:50 +00:00
Marco Bubke
99e5042732 QmlDesigner: Add persistent auxiliary storage
The persistent storage is saving the data in-between program executions.
A sqlite database is providing the backend. The model nodes need an id
to be identified.

Change-Id: I24e4ea5184c04cb6a9e3828059ca593ee41d271e
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2024-06-13 11:27:06 +00:00
Marcus Tillmanns
0c0ad6e7d8 Lua: Replace -loadluaplugin with -pluginpath
Change-Id: Ic398e09dedd6ba11a73e616788b92a001e0a96bd
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2024-06-13 11:13:15 +00:00
Marco Bubke
9c1e834eaf QmlDesigner: Add ModelNode::ensureIdExists()
Calling ModelNode::validId() and don't get the value looks a little bit
strange.

Removing the refactoring step too. If there was no id, why it should be
refactored?

Change-Id: I0ec31f2e9a654635bcdb815e7ab1236506d37d2b
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2024-06-13 10:59:55 +00:00
Mahmoud Badri
0506a6c199 QmlDesigner: Fix content lib crash when node has no id
Crash happens when adding a node with no id to the content library.
Also improved the default name in such cases to be the type instead
of the generic name "component" (using the existing node.displayName()
method).

Change-Id: I9b5745dc421dfa7f58afec185555ebb8e1ff4b71
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
2024-06-13 10:36:59 +00:00
Marcus Tillmanns
ddd137f3b1 Lua: Move lua plugins into normal plugin folder
Change-Id: I14ab0bb755a4279bc255673596fe084cd556433c
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2024-06-13 10:26:29 +00:00
Marcus Tillmanns
8f715a350b Lua: Fix comment line endings
Change-Id: I00a5ece580b69a65c8fa60eae8458526d1df257e
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
2024-06-13 09:20:23 +00:00
Jarek Kobus
e331329e4f TaskTree: Detect a misconfigured recipe of a nested task tree
Change-Id: I6652336023ac111cde5334e655f5dd972977b07f
Reviewed-by: hjk <hjk@qt.io>
2024-06-13 09:17:24 +00:00
Christian Kandeler
55836c174d CppEditor: Fix unit test
Amends f477ede697.

Change-Id: Ibc6ae49adbe6932c57ca22008cbd354cd3bd26f5
Reviewed-by: David Schulz <david.schulz@qt.io>
2024-06-13 09:14:03 +00:00
Christian Stenger
7d5f1bd17d CppEditor: Silence warning
Amends f477ede697.

Change-Id: I99b10d2f9ba460ee0a1fa828e1b19465077192ef
Reviewed-by: David Schulz <david.schulz@qt.io>
2024-06-13 09:13:39 +00:00
Christian Stenger
20dda9d5fd FakeVim: Avoid possible nullptr access
Amends 9f0919c4a3.

Fixes: QTCREATORBUG-30730
Change-Id: I389412a0b069fd34a625075d97c89f106c5b5f74
Reviewed-by: hjk <hjk@qt.io>
2024-06-13 09:13:29 +00:00
David Schulz
c5564559cc ProjectExplorer: use multiple threads to scan for files recursively
Change-Id: I845d2e2eaffd8d6a4e85d3186435d57846789506
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
2024-06-13 08:13:35 +00:00
Eike Ziller
caa5c3947f iOS: Fix slow debugging with recent Xcode and iOS < 17
When starting the debugger, we need to pass it the location of the
downloaded device symbols, or otherwise debugger startup is very slow.

Xcode changes the location where it saves this information once in a
while, and it must have again. The location with Xcode 15.2 at least is
in the style "iPhone8,1 15.7.3 (19H307)", i.e. it starts with the
"product type" now.

Retrieve the product type of the device and add another candidate
directory for device symbols.

Fixes: QTCREATORBUG-31044
Change-Id: I1a65305fc84c1af8cd48c4ebb249167e1dbe6ae1
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
2024-06-13 06:09:47 +00:00
Ali Kianian
60afac7996 QmlDesigner: Update material browser nodes on property changes
Binding property changes and removed properties are followed by a
preview request in Material Browser

Fixes: QDS-12987
Change-Id: I6e84ef6dad08653e7f611fc8ba36d29d87ee03b9
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
2024-06-13 06:00:03 +00:00
Ali Kianian
5084165703 QmlDesigner: Make MaterialEditor FullScreen
Task-number: QDS-12368
Change-Id: Ia65ca2cb5c89507b5290a32f1829551cec236192
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
2024-06-13 05:59:35 +00:00
Thomas Hartmann
d90b3cb0bc QmlDesigner: Do not translate item if position is bound
Pick-to: qds/4.5
Task-number: QDS-12235
Change-Id: Ied72a88bbb7f97221c9fdc577b6a4dc71cb6fbd8
Reviewed-by: Henning Gründl <henning.gruendl@qt.io>
2024-06-12 17:04:22 +00:00
Henning Gruendl
1750aab9b4 QmlDesinger: Fix typo in RewriterView function
* Fix typo in RewriterView function
* Update source with clang format

Change-Id: Ic0b6f2a28120e04980a99fbacaa72f6897c513aa
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2024-06-12 16:02:52 +00:00
Alessandro Portale
b599edb9b7 Qt Creator redesign: Update the mode bar icons
This updates the existing mode bar icons in the svg file with the new Qt
Creator Design icons from Figma. The pngs are updated accordingly.

For consistency, the "beetle overlay" for toolbar actions is also
updated.

The custom color for "active" state of a mode icon has been removed. If
we keep this change, a couple of Theme::IconsMode*ActiveColor entries
can be removed.

Change-Id: I9b5422c79f5426e31b41e59d67ddc307b521c0af
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: hjk <hjk@qt.io>
2024-06-12 15:08:00 +00:00
Cristian Adam
bd6e47ce46 Core: Fix use after free ASAN error
When closing the "Preferences..." dialog with Esc key, the ASAN address
checker would report a use after free at "while (m_running)" below in
the code.

Fixes: QTCREATORBUG-31047
Change-Id: I484a80305ebbd903607e945eb56b331f57d40370
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2024-06-12 14:51:59 +00:00
Tim Jenssen
980305ff15 Tools: add a sqlitetester
Windows only, to debug a Windows issue.

Change-Id: Iebd77e08ab4013967f273c262dae6817c92e9527
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2024-06-12 14:36:54 +00:00
Eike Ziller
d074f1a9b4 Improve the position of Open Workspace in the File menu
Keep the "Recent *" menus together

Change-Id: I99613201bf7ee00e91ca63b56ddcccf23f13c5c7
Reviewed-by: David Schulz <david.schulz@qt.io>
2024-06-12 13:23:36 +00:00
David Schulz
b56a447a83 Debugger: Prevent showing the windows error on debugger detection
Change-Id: Id4a6d8fe345fa023d3a0bffe6e46fc2077cbfae5
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2024-06-12 12:56:31 +00:00
Artem Sokolovskii
d3753b97b2 AppStatisticMonitor: Add Mac support
Change-Id: I1af929cb9cccd115940cbcfddcd2102c6f15a367
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2024-06-12 12:06:28 +00:00
Ali Kianian
acdcf0c459 QmlDesigner: Add a SplitView for the MaterialEditor preview
* Also fixes that the image provider couldn't provide image for invalid
requests.

Task-number: QDS-12929
Change-Id: I172873880e30bbd6872f391f79692347f5697e6c
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
2024-06-12 10:58:45 +00:00
Eike Ziller
1ff3e0aab8 Merge remote-tracking branch 'origin/13.0' into 14.0
Change-Id: I530a3047364fae9cf8a992dd9395147d3e25a10a
2024-06-12 12:55:25 +02:00
Christian Kandeler
3ea08f9b6f ProjectExplorer: Make the timeout between TERM and KILL configurable
Fixes: QTCREATORBUG-31025
Change-Id: Ibb5b9f3a946e1603fb55b57511c4b6d90b1d6217
Reviewed-by: hjk <hjk@qt.io>
2024-06-12 10:34:54 +00:00
Sivert Krøvel
98c765d6fc Resolve qmlproject dependencies during conversion
Qt for MCUs modules have their own qmlproject files. To make it
easier to know which qmlproject files belong to a project
the qmlproject dependencies are resolved and listed in the
internal project JSON object when converting a qmlproject file
in QDS.

In Qt for MCUs, qmlproject files are found either in ModuleFiles
nodes or in the importPaths (with some extra restrictions).
This implementation mirrors the dependency resolution in
Qt for MCUs also in QDS.

Task-number: QDS-12636
Change-Id: I7ae874d26beeea0deb440fba031b7a4b11eef1e0
Reviewed-by: Marco Bubke <marco.bubke@qt.io>
Reviewed-by: Burak Hancerli <burak.hancerli@qt.io>
2024-06-12 10:26:11 +00:00
Sivert Krøvel
108ed5a400 McuSupport: Update getPath() test expectations
After the recent change 3be0b263a8,
SettingsHandler::getPath() can be called one additional time in the
McuPackage constructor. Take this into account in test expectations

Change-Id: Ib302de2b2d446a9b8884f8c3d0bfabd4223b8d87
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2024-06-12 10:25:38 +00:00
Cristian Adam
0eed1b3efa CMake: Fix static build of Qt Creator
The plugin class names were different, and this is important for static
plugins because the symbols wouldn't be found at linking time.

Change-Id: Ia2254e5ce811fe23daf12e445593980211b7cd47
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2024-06-12 09:23:53 +00:00
Eike Ziller
e9fd7e5c2c Make it possible to mark a plugin experimental but not disabledByDefault
For plugins that are shipped by Qt Creator, it makes sense to disable
experimental plugins by default. But for separately installed plugins it
is weird that you first have to download and install them, and then also
have to explicitly turn them on.

Use that for AppStatisticsMonitor in the case that it is built and
installed as a separate plugin.

Change-Id: I12e979d2e088dc32380c2e2ae83ed2b7ef9276b0
Reviewed-by: Artem Sokolovskii <artem.sokolovskii@qt.io>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2024-06-12 09:22:25 +00:00
David Schulz
9a06e1f65c Debugger: prefer 64 bit cdb and remove auto detected 32 bit cdb
Change-Id: I57a4b0cb25a6d33478bc7a5cde9a427cfc5214c6
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2024-06-12 09:11:37 +00:00
David Schulz
e84a9bc3d5 WorkspaceProject: exclude user file and define scheme url by default
Change-Id: I359682a0010a42f00591c103c93b7f41c7f987fd
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
2024-06-12 09:06:51 +00:00
Marcus Tillmanns
e47c797dee LSP: Fix MarkedString fromJson
fromJsonValue<T>(...) (with T = MarkedString) always tried to convert
the json value toObject() first. Which is wrong since it can be an
object or a string.

Fixes the broken hover text for the json language server.

Change-Id: Id69b4270238bea7068936a7d2142f4f94918f96b
Reviewed-by: David Schulz <david.schulz@qt.io>
2024-06-12 08:08:58 +00:00
Christian Kandeler
f477ede697 CppEditor: Make header guard naming user-configurable
Fixes: QTCREATORBUG-25117
Change-Id: I732e9a8f146b4d6a346492141ec364a99f167b94
Reviewed-by: David Schulz <david.schulz@qt.io>
2024-06-12 07:58:02 +00:00
Marcus Tillmanns
77b44bcb00 LuaLC: Register Settings type
Change-Id: I58b3817e83c598b62e0ae5e61c21043d2c3290a7
Reviewed-by: David Schulz <david.schulz@qt.io>
2024-06-12 07:54:37 +00:00
Aleksei German
053604970c QmlDesigner: Fix smallstring compiler warning
Change-Id: I237c580f171a4b95aba372d12956cc0d5419bf61
Reviewed-by: Marco Bubke <marco.bubke@qt.io>
2024-06-11 17:17:24 +00:00
Miikka Heikkinen
cca73bb927 Revert "QmlJSCheck: Ensure that ::createObjectsForImport always works correctly"
This reverts commit fa376883f0.

Reverting because this patch causes code model reset to fail often,
leading to corruption of code model.

Fixes: QDS-11496
Fixes: QDS-11520
Change-Id: Ied04dc34ef9f51e535dfe0772e245bdcb78e908a
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2024-06-11 14:20:24 +00:00
David Schulz
670b4ec729 Debugger: remove DebuggerRunTool::setUseCtrlCStub
The ctrl c stub is now used by default.

Change-Id: I802e8a4bd694bc98e8c4535875e9f2791d9dd5e9
Reviewed-by: hjk <hjk@qt.io>
2024-06-11 13:30:05 +00:00
David Schulz
9d88da6c2b Debugger: simplify interrupting windows processes
The win32interrupt.exe is gone. And since we do not support 32bit Qt
Creator builds anymore there is no purpose for a win64interrupt.exe.

Since some 'recent' changes interrupting the cdb works now by simply
setting Process::setUseCtrlCStub and calling Process::interrupt on the
debugger process. The same seems to work with gdb nowadays, but we need
to expect the SIGINT signal that gdb receives in this situation.
Otherwise the user will be shown a message box about the emission of
that signal.

Change-Id: I7a21d7ea34409d8bbf62d94e28387d591e7feb3d
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2024-06-11 13:29:59 +00:00
Christian Stenger
0f983f2e95 Axivion: Remove unused lambda capture
Amends dbe2e422f7.

Change-Id: I06e75ff43a9504f4b1c06670427c1ec95bddafe9
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
2024-06-11 13:09:53 +00:00
Marco Bubke
91bf0a6739 QmlDesigner: Fix access to nullptr
m_qmlBackEnd can be null.

Change-Id: I7974ee79df967959b95c58095aa7fc30b8b83527
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
2024-06-11 12:16:22 +00:00
Marco Bubke
f53ed53ab2 QmlDesigner: Fix custom parser tests
Because the new code model is returning the flag from the qmltypes
files, property changes have a custom parser.

Change-Id: I0dd479417e2fc6c9a1d972694a5644761fb48e89
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2024-06-11 12:16:09 +00:00
Marco Bubke
8d7e62fa5e Utils: Improve tests for small string
It fixes a capacity bug.

Change-Id: I3545eb32d8b23514da286c2df77aebc197df8252
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2024-06-11 12:16:02 +00:00