Commit Graph

72811 Commits

Author SHA1 Message Date
Cristian Adam
739b4fc5f4 CMakePM: Fix crash on non-cmake projects when viewing project's settings
Amends 1a5f61adca

Change-Id: Ife8eac40365d06e06a9177eb7a1886eb65a84095
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2024-06-21 13:28:47 +00:00
Eike Ziller
12c1731489 Merge remote-tracking branch 'origin/14.0'
Conflicts:
	src/plugins/qmljseditor/qmljseditingsettingspage.cpp
	src/plugins/qmljseditor/qmllssettings.h

Change-Id: I49b97101467a6e80653c0f5f3e3fe5801dca5274
2024-06-21 13:54:42 +02:00
Artem Sokolovskii
2971138cb7 Debugger: Fix hitting unexisting breakpoints
Set UseFullPath only for BP from the opened projects.

Fixes: QTCREATORBUG-3750
Change-Id: I343c68ca341f9bfb57e352b9b28df333eb1c16c3
Reviewed-by: David Schulz <david.schulz@qt.io>
2024-06-21 11:54:24 +00:00
Christian Kandeler
65f7665722 Update qbs submodule to HEAD of 2.4 branch
Change-Id: I960d309f14b4c4ec80469d9f6996210c15bf17cd
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2024-06-21 10:02:36 +00:00
Cristian Adam
e22db4e8ac CMakePM: Do not hang on renaming source files from file(GLOB)
Fixes: QTCREATORBUG-31016
Change-Id: I5b450cdb5a9af227ed058345adab1fc5b5a9043d
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2024-06-21 08:47:37 +00:00
Alessandro Portale
b09850eabc Lua: Add icon for Qt Creator Lua Plugin wizard
Change-Id: I00db10401aaaddc3dbb0fab96e577268aa43f149
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
2024-06-21 08:35:41 +00:00
Sami Shalayel
3b558792eb qmlls: ignore versions from Qt 6.7 or below
Do not select qmlls executables from versions below 6.8 by default,
as those have less features than QtC's builtin codemodel. Add an
option to re-enable using qmlls versions from Qt 6.7 or below,
which is off by default.

Fixes: QTCREATORBUG-31088
Change-Id: I56bfd39bc980996a92232cbcb424252d755cdfc0
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: David Schulz <david.schulz@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2024-06-21 07:31:38 +00:00
Christian Stenger
1ab00ae5ec Fix Qbs build
Amends f5dde31558.

Change-Id: I409b872ccab2bfe825df3c993aaf942d327e9381
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
2024-06-21 05:26:08 +00:00
Marcus Tillmanns
b32d23de35 ProjectExplorer: Add FileAccessFactory
Change-Id: I2468934bae03f352b8011224f345795ba8941862
Reviewed-by: hjk <hjk@qt.io>
2024-06-21 05:18:40 +00:00
Marcus Tillmanns
04f56b01d4 Docker: Add "isContainerRunning"
Change-Id: I2e22f5fb0ed86b0f7d61dc47c23696c00ec875ea
Reviewed-by: hjk <hjk@qt.io>
2024-06-21 05:18:32 +00:00
Marcus Tillmanns
366aaf5f78 Utils: Add detection "aarch64"
Change-Id: I493afbd30a10fc027239022826bc5cb09424851d
Reviewed-by: hjk <hjk@qt.io>
2024-06-21 05:18:25 +00:00
Marcus Tillmanns
a1a6ccbf1c Utils: Add FilePath::watch
Change-Id: I1e5706f22aaa072c68b97496896cfa6d244d9849
Reviewed-by: hjk <hjk@qt.io>
2024-06-21 05:18:16 +00:00
Christian Stenger
e30dd3c5ee Wizards: Show warning creating subproject outside parent
Provide some feedback regarding creation of subprojects outside
of their parent projects to give the user a last chance to
correct the choices done so far.

Change-Id: I4e02dfca7332ea53b61485673e07248e10e2113e
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
2024-06-21 04:33:52 +00:00
Christian Kandeler
729c803758 ProjectExplorer: Ensure environment from aspect is always up to date
Otherwise our (intential) delay when updating the environment from the
text edit can lead to surprises for the user.

Fixes: QTCREATORBUG-31052
Change-Id: Iaba8c496094ad95d8c099c67c0805317f32a2936
Reviewed-by: hjk <hjk@qt.io>
2024-06-20 15:36:07 +00:00
Cristian Adam
561dbbf5de LLDB-DAP: Add "env" to "launch" command
On Windows where there are no RPATHs we need to pass the environment to
the "launch" event, otherwise applications can't be started.

Also only add "sourceMap" and "preRunCommands" if the arrays are not
empty.

Change-Id: If631d36db8e28d2c30962b4e9c6a3aa3162000a1
Reviewed-by: Artem Sokolovskii <artem.sokolovskii@qt.io>
2024-06-20 14:34:49 +00:00
Mahmoud Badri
ffaba40eab QmlDesigner: Fix icon generation dependencies missing in content lib
Change-Id: I07641feaa55d8b8c374c3e9e6efdce2e1dcc9246
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
2024-06-20 14:21:39 +00:00
David Schulz
805c687dbc ProjectExplorer: add rescan action to workspace project context menu
Change-Id: I7a823853c3681da5ec5019a3f66bd98aa1c81cb2
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
2024-06-20 14:05:31 +00:00
Miikka Heikkinen
778839be5f QmlDesigner: Remove initial reparenting of all items to root item
This initial reparenting to root doesn't seem to have a purpose as any
valid instance will be reparented to its actual parent later anyway.
Since it does break composed effects parent handling, it was removed.

Fixes: QDS-12022
Change-Id: I08993424b5c3ece739809375c11d0a2cd0e3498c
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2024-06-20 13:46:43 +00:00
Mahmoud Badri
91d5840adb QmlDesigner: Unify addLibMaterial() and addLib3DItem() in content lib
Also a small rename (remove '3D' as it can work for 2D in the future)

Change-Id: I72332f8b46fae6bf8e8e70fc21329ec1e80df047
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
2024-06-20 13:40:39 +00:00
Ralf Habacker
94663d0db7 cmake: Add support for custom startup programs for executable targets
CMake supports the use of custom startup programs that are provided
in the IDE to simplify execution.

If the build system provides launchers, these are provided as an
additional selection field of the run configuration including an
entry without launcher.

As of cmake version 3.29, the start programs are extracted from
the API of the cmake file. For older cmake versions, a launcher
is initialized from the cmake variable CMAKE_CROSSCOMPILING_EMULATOR,
if available.

Fixes: QTCREATORBUG-29880
Change-Id: I4345b56c9ca5befb5876a361e7da4675590399ca
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2024-06-20 13:40:21 +00:00
David Schulz
6b1e7eff93 Editor: Do not add to history twice for double clicking bookmarks
Activating a bookmark via a double click resulted in both signals
getting emitted doubleClicked as well as activated, and both were
connected to BookmarkView::gotoBookmark. So the goto code was executed
twice resulting in adding the position to the navigation history twice.
Fix this by only connecting to activated since this is always emitted
alongside the doubleClicked signal as well as when the item is activated
by keyboard.

Fixes: QTCREATORBUG-30842
Change-Id: I48ea50afa105f81a2be8ac94096dd29164fce5fe
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2024-06-20 13:21:03 +00:00
Mahmoud Badri
29c222ba18 QmlDesigner: Fix old and new project structures discrepancies
Force reload bundles when generated folder changes between projects
launches.

Fixes: QDS-12899
Fixes: QDS-12902
Change-Id: I61b2729309cf2b853441358379ac5a569a3af886
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
2024-06-20 12:35:31 +00:00
Eike Ziller
987d292414 Disambiguate "Executable:"
"the executable" versus "the file is executable"

Fix translations where both variants were available (i.e. that used the
adjective for the translation in Core, but the noun elsewhere).

Fixes: QTCREATORBUG-31059
Change-Id: Id140612f201cea1feca007557bbedf030cfdf504
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
2024-06-20 10:58:20 +00:00
Mahmoud Badri
a87b8253ae QmlDesigner: Confirm adding existing material to content library
Also remove methods not used anymore and make addLibMaterial() as close
as possible to addLib3DItem() in preparation to unifying them.

Change-Id: I4b0bbf3667c8203fd71a5440aee02d62a67673ca
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
2024-06-20 10:27:23 +00:00
Miikka Heikkinen
87bae7f0a4 QmlDesigner: Fix layout of 3D import list
Made list a bit wider so that there will be no horizontal scroll on the
list. Also shortened the size info label text a bit so it won't cut off
as easily on systems with larger default font.

Fixes: QDS-13015
Change-Id: I39c175be42e743b0700079ddd5543a9c54bb975b
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
2024-06-20 10:13:40 +00:00
Cristian Adam
cd3729b4aa DAP: Handle failed "launch" response
On Windows if the application being debugged has missing dlls it will
not be able to be started by the debugger.

Now the user will be informed that the application failed to start.

Change-Id: I0a76a8c6cd122970b00adec371b254adc60915c0
Reviewed-by: Artem Sokolovskii <artem.sokolovskii@qt.io>
2024-06-20 09:56:45 +00:00
Thomas Hartmann
f92ea99107 QmlJS: Skip QtQuick3D for implicit imports
The way we resolve implicit imports creates random issues.

QtQuick3D.MaterialEditor implicitly imports QtQuick3D.

If QtQuick3D.MaterialEditor is scanned before QtQuick3D the types
of QtQuick3D are added to QtQuick3D.MaterialEditor and when later
QtQuick3D is scanned no type is added to QtQuick3D because of the cache
in ::createObjectsForImport.

The result is that QtQuick3D does not contain its types and prototypes
cannot be resolved. This does happen roughly 50% of the time and
is the reported issue.

In case QtQuick3D is scanned, first things work, but no "extra types" types are added to QtQuick3D.MaterialEditor.
To keep the patch minimal we simply skip this specific case.

QtQuick importing QtQml implicitly is not touched.

Task-number: QDS-11069
Change-Id: I74088b12a2e737a8a7467068c10a78c4be2a7bda
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
2024-06-20 09:31:48 +00:00
David Schulz
6e648ee931 Lua: fix "conversion from 'size_t' to 'int'" warning
Change-Id: Ibb6b17f82ebf992a48b29570c829376ef142ea10
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
2024-06-20 09:19:33 +00:00
Marco Bubke
a49ae43848 QmlDesigner: Add local directory to import paths
Change-Id: I4d623d1ed9667a221016c2dd2267d47a9a9ef2c5
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2024-06-20 09:07:53 +00:00
Marco Bubke
b2c85538b1 Add Design Studio for Linux
Add AppStream data and desktop file for Design Studio.

Change-Id: Icc5cca03a3c0945a2f90b39fdd4c7dcecd0e8d6b
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2024-06-20 08:57:36 +00:00
Mahmoud Badri
29229773e0 QmlDesigner: Confirm adding an existing item to content lib
Change-Id: Ic3c007444a1c061161268548e0f180ca5335b8bc
Reviewed-by: Ali Kianian <ali.kianian@qt.io>
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
2024-06-20 08:42:24 +00:00
Mahmoud Badri
843dcc1ff6 QmlDesigner: Fix icon generation fail when adding an item to content lib
Copy the added item's QML file to a temp directory and generate from
there. Also, fix that generated icons not appearing immediately by
separating the model refresh from the addItem(), ensuring the
refresh occurs after the icon is generated.

Change-Id: Ic4f32677b3c2f3895b7825aef7727ac6dd6240b2
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
2024-06-20 08:31:55 +00:00
Eike Ziller
f5dde31558 Move the shipped Lua plugins to the resources directory
On macOS, files in Contents/PlugIns/ need to be codesigned individually.
Since Lua plugins are not really binaries, per Apple's documentation
that is to be avoided (and we currently only sign executables there).

Just move Lua plugins generally to the resources directory, like we do
for other scripts like the debugger Python scripts, and load them from
there.

Change-Id: Idabd6b7c0c7c6e842b1752488cb7073f00e7be49
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
2024-06-20 07:40:46 +00:00
hjk
265f76b9cd QmlJsEditor: Simplify structure of QmlJS settings handling
Not the intended final state, but more uniform.

Change-Id: I406d53032ff76631ddd542df8e3afa232d93a7fc
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2024-06-20 06:27:19 +00:00
Marcus Tillmanns
611f6bdbea Lua: Don't destroy lua state too early
The Lua state needs to stay alive as long as any references to it
may be alive. Therefore this patch leaves the destruction to the end.

Fixes: QTCREATORBUG-31087
Change-Id: Ic49723575f7d2fe474cba9546845b65d57d7dcd0
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2024-06-20 06:22:26 +00:00
Christian Stenger
8404bb5c81 Lua: Add images to qbs build
Change-Id: If898960c5e195ddcf733e847f09ea1301a48de11
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
2024-06-20 06:16:35 +00:00
Tim Jenssen
9e9f0015b2 QmlDesigner: fix build
from https://en.cppreference.com/w/cpp/compiler_support/20
ranges support:
The One Ranges Proposal: Clang 13 (partial) 15*

For snapshots we use still Clang 12 (will be changed in near future),
but also QtCreator still supports that old compilers.

The gitlab CI uses much newer compiler versions.

Maybe we also add a check, if the compiler is too old,
do not compile QmlDesigner plugin.

Change-Id: I4d3281739a957546237f47f53fe8f523f4768978
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
2024-06-19 14:57:52 +00:00
hjk
1563e0173e TextEditor: Fix some deprecation warnings
QT_DEPRECATED_VERSION_X_6_1("Use setFontFamilies instead") inline void setFontFamily(const QString &family)
    { setProperty(FontFamilies, QVariant(QStringList(family))); }

Change-Id: I22f48abf783404a80e9d8d604d1ff886c2a55f14
Reviewed-by: David Schulz <david.schulz@qt.io>
2024-06-19 14:26:42 +00:00
hjk
39570fb675 Utils: Rename PathChooser::rawFilePath() to unxepandedFilePath()
That's what the implementation does, and judging from the using code
wasn't quite clear.

Change-Id: I4ca776ba4da83a36162adad2dd595eb39eb0f43d
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2024-06-19 14:26:05 +00:00
Christian Stenger
391e7ae34a Wizards: Redo sub project handling
If the user tries to add a sub project the decision for the
parent project must happen directly on the intro page
to avoid asking for build system or kit information later on.
Any of these information are provided by the parent project
and can therefore be skipped in case of having a sub project.
So, move this decision to the first page and on the last page
only let the user decide to which sub node of the chosen
project the new project will be added to.
The old approach set the IsSubproject marker quite too late
to handle this appropriate, so explicitly set this already
on the first page.
For now there should be only qmake based projects which are
capable of adding sub projects at all, but this patch should
be a generalized preparation for having similar functionality
in other build systems.

Fixes: QTCREATORBUG-30281
Change-Id: I8f1de4fa05f46d68ac2ddec788840d473adb015e
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
2024-06-19 12:04:43 +00:00
Christian Stenger
8cc58c90d3 PE: Fix project pointer when adding files or subprojects
It is possible to trigger the respective actions directly from
the project tree without having the respective project as
current active project.
Instead of always passing around the project which is currently
active use the one we get from the selected node if there is
any and fall back to the current active project if there is no
selected node.

Change-Id: Iccee63f1d75e88188b55f7307fcc46ba52e82a8a
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2024-06-19 12:04:35 +00:00
Christian Stenger
282960528e Valgrind: Remove no more needed fix
This was needed to fix the handling of the project settings,
since 044c1f686c no more needed.

Change-Id: I960078b0ca39739ad566caeba46edf1a5050ebef
Reviewed-by: hjk <hjk@qt.io>
2024-06-19 11:47:58 +00:00
Christian Stenger
044c1f686c PE: Fix handling of settings
Amends 81f8a3fd7d.

Fixes: QTCREATORBUG-30680
Change-Id: I47c2c50f1acb1888dc8e3514e942ebefaf87e6ca
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
2024-06-19 11:12:35 +00:00
Christian Kandeler
d7ed05ae14 ClangTools: Do not assume there is a corresponding open document
... when creating a TextMark.
Amends 2ad12b5b2c.

Change-Id: Ic748012dadda0fc94814176589a3bdff20cb4cd6
Reviewed-by: David Schulz <david.schulz@qt.io>
2024-06-19 10:30:37 +00:00
David Schulz
1eb2535c62 ProjectExplorer: fix warnings of projectnodeshelper.h
Change-Id: I79ed8b4ac9fa3e8c25438678011e455bfedbaabc
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
2024-06-19 10:24:33 +00:00
Eike Ziller
afde8fd1a7 Merge remote-tracking branch 'origin/14.0'
Change-Id: I5e5ffe1b986fd8b4e5d60c9a5864541747ef890c
2024-06-19 11:30:02 +02:00
Christian Stenger
1aa4b401f1 PerfProfiler: Fix construction of arguments
Change-Id: I683ee5a9a23a222fc80f1972c64262c5d91228e9
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
2024-06-19 08:42:40 +00:00
Jarek Kobus
51c9611268 ProjectNodesHelper: Some cleanup
1. Make internal scanForFiles() static.
2. Make it a non-template method.
3. Pass const QFuture<void> & instead of non-const QPromise<Result>,
   since we use it here just for isCanceled() checking.
4. Simplify setting a concurrent call data by eliminating the
   intermediate lambda.

Amends c5564559cc

Change-Id: I4b7e3be6e8428c913920e66f2c00800055e83fde
Reviewed-by: David Schulz <david.schulz@qt.io>
2024-06-19 08:39:42 +00:00
Jarek Kobus
15e510abcf TaskTree: Make use of the trivial DoneResult handlers
Change-Id: I71915fc50f073cc90b0fb2562bb82e9c4a73ccd1
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2024-06-19 08:32:37 +00:00
Jarek Kobus
33eb5f509c TaskTree: Make it possible to pass DoneResult as a done handler
This patch addresses the 38th point in the bugreport below.

Add tests for it.

Adapt docs and warning messages accordingly.

Task-number: QTCREATORBUG-28741
Change-Id: I276d2d4c3a514147f67252dc5073d79fed94b9ff
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2024-06-19 08:32:27 +00:00