Commit Graph

62421 Commits

Author SHA1 Message Date
Orgad Shaneh
183dfb48a7 VCS: Rename function
Change-Id: I593e1db222e2124f3db367620171f3a101b4b8eb
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
2022-10-14 12:24:18 +00:00
Marcus Tillmanns
22c4e9318a Docker: Remove unused function
Change-Id: I683de49c08411087e47be84265cbab62d4d0738e
Reviewed-by: hjk <hjk@qt.io>
2022-10-14 12:06:41 +00:00
Orgad Shaneh
967e8cf260 Git: Respect text encoding in project settings on diff
Fixes: QTCREATORBUG-21794
Change-Id: Ib4be9811c0ab1cba5cad4adbfe740a6d99f420d1
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
2022-10-14 11:21:17 +00:00
Miikka Heikkinen
7a967d385e QmlDesigner: Add unimportFinished signal to BundleImporter
Change-Id: I6d7ab5716f1bf6fe48f454d0c95c29ebd5d181de
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2022-10-14 10:56:40 +00:00
Marcus Tillmanns
359ad56e17 Docker: combine escapeMountPath function
Change-Id: Ib04f8245d2da096a9d9fdbdf9b5243ca80d52bfa
Reviewed-by: hjk <hjk@qt.io>
2022-10-14 09:52:22 +00:00
Marcus Tillmanns
9aa1d56f56 Docker: Fix isValidMountInfo
Improves checking if a requested mount is actually valid.

Change-Id: I37638d26ddd46776e6375481cf1d73ed0ad24210
Reviewed-by: hjk <hjk@qt.io>
2022-10-14 09:49:58 +00:00
Marcus Tillmanns
0b40e4b032 Utils: Fix FilePath::toFileInfo()
Change-Id: I91f75511758e606c9e9ff1338b272e6b03c26986
Reviewed-by: hjk <hjk@qt.io>
2022-10-14 09:49:48 +00:00
Marcus Tillmanns
24d11e66b4 Utils: Fix FilePath::isChildOf
Previously isChildOf would only look at the path.
But if the two paths are from different devices
it would mistakenly return true if the paths were
similar.

Change-Id: Icdb1aebe61167183ec85fa56ae0708681a59a9f8
Reviewed-by: hjk <hjk@qt.io>
2022-10-14 09:49:10 +00:00
Christian Stenger
2d84e8b28e Squish: Inform server if global scripts get configured
So far, this had been just a visual representation.
But, global script folders have quite some deeper meaning
than just some convenience inside the IDE.
So, if the user adds or removes global script folders
inform the server that this has been done.
As on it, fix model mapping.

Change-Id: I239de61c6b49006dd2f1e0275138aaa3022d1482
Reviewed-by: David Schulz <david.schulz@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2022-10-14 09:19:53 +00:00
Christian Stenger
737d418989 Squish: Construct CommandLine instead of arguments list
...when preparing the runner process. Gives more control on
how the arguments are used.
This allows to pass arguments as "raw" arguments to avoid
CommandLine internal quoting.

Change-Id: I1cdf8bafa53d8618db8ab4711b04404154d3b90e
Reviewed-by: David Schulz <david.schulz@qt.io>
2022-10-14 09:19:38 +00:00
hjk
9e4eabb410 RemoteLinux: Dissolve AbstractRemoteLinuxDeployStep::createDeployService
The previous setup doesn't buy much in comparison to new + setDeployService()
combo. Making that explicit now opens the path to simplify the two-phase
creation (i.e. move setInternalInitializer to the service c'tor).

Change-Id: Ib66c7d02efcddd6909fe612a786034e2728cdedf
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2022-10-14 09:12:40 +00:00
David Schulz
01b07c0563 LanguageClient: deactivate documents on client shutdown
Change-Id: I0a3aa89b1390f3cb7d5816bb85d9fd538fb3f90b
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2022-10-14 09:08:11 +00:00
Marcus Tillmanns
1b6728538e Clang: Fix compile_commands path setup
Change-Id: I2af0935ad022714f8e929c483455a8800e9f7cca
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2022-10-14 08:53:28 +00:00
Alessandro Portale
f079a36200 Utils: Re-increase font size for DetailsButton on macOS
Fixes: QTCREATORBUG-28266
Change-Id: Iab9ef85cb30e5c75f20bda34f7ceee7a0363aa1c
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2022-10-14 08:43:33 +00:00
Eike Ziller
519b6fefe1 Link with Qt: Prepare for sdktool to move to a different location
When linking we should now consider the new sdktool location within the
Qt installation first. The new location of QtCreator.ini will be <Qt>/
Tools/sdktool/QtProject/QtCreator.ini on macOS, and <Qt>/Tools/sdktool/
share/qtcreator/QtProject/QtCreator.ini on Windows/Linux.

When resolving an existing install settings path to the old location
within the Qt Creator installation (Qt Creator.app/Contents/Resources or
Tools/QtCreator/share/qtcreator), the QtCreator.ini at that location
will itself redirect to the new sdktool location. So, try to follow that
as well, to keep existing setups working.

Task-number: QTBUG-28101
Change-Id: Idbb09ad6961f6fd4a4112830959a615d8186a132
Reviewed-by: David Schulz <david.schulz@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2022-10-14 08:32:53 +00:00
hjk
296538d23d Utils: Add FilePath::isSymLink
Needed to fix GenericUploadStep handle the device->device case.

Change-Id: I551ac0957879e5b8737c22fa823d8b2e6bec0b5e
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
Reviewed-by: hjk <hjk@qt.io>
2022-10-14 08:29:08 +00:00
Marcus Tillmanns
2fd4be4603 ProjectExplorer: Use FilePath in gcc toolchain
Change-Id: I2cd659dc94e0c9ee1a5f198098a3886146c3e03b
Reviewed-by: hjk <hjk@qt.io>
2022-10-14 08:27:35 +00:00
Cristian Adam
45ec26783f CMakePM: Search after ninja also in system environment
CMakePM was setting the default generator to Ninja if the ninja
executable was set in the build environment.

This had the side effect of having to instantiate the build environment
for Visual C++, which meant running vcvars.bat files. This operation can
be costly if clink is also installed in the system.

This way the users that have ninja installed via choco, or manually set
it path, will not be affected by this delay.

Note that this only fixes the issue for the first start of Qt Creator
with new settings.

Some number from my machine:
- with clink 21s
- without clink 10s
- with this patchset 4s

Task-number: QTCREATORBUG-27906
Change-Id: I74d19b08211d93b3962a8877b49a58089310fbd6
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2022-10-14 08:11:51 +00:00
Cristian Adam
6fc313013e ProjectExplorer: Skip clink autorun for msvc detection
Clink checks the CLINK_NOAUTORUN environment variable, and if it's set
it does a quick exit and the msvc detection is faster.

See https://github.com/chrisant996/clink/issues/361

Task-number: QTCREATORBUG-27906
Change-Id: Ib2cbc29a6135e5a1eb7411e4353cc1df8ef59004
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: David Schulz <david.schulz@qt.io>
2022-10-14 07:39:19 +00:00
Eike Ziller
9335f67307 Fix that Open Documents no longer showed "pinned" icon
Or "locked" icon.

Amends 373b9f8b31

Change-Id: Ieaf10ade422dce65700c3b4360b496a1cec70160
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-10-14 06:58:46 +00:00
Christian Stenger
8a9072b8c2 Squish: Handle changing configured Squish path
Update shared folders if the path to Squish has changed.

Change-Id: Iea861d1f51dd4170bc4b481176fa1a8019c24d3d
Reviewed-by: David Schulz <david.schulz@qt.io>
2022-10-14 06:53:45 +00:00
Christian Stenger
39441654d8 Squish: Correct handling of global scripts
Global scripts get registered to the server. If we have valid
squish settings we are able to automatically re-open them.

Change-Id: Iaeed2629dac30b786b6e8faf371bc6987a4a5681
Reviewed-by: David Schulz <david.schulz@qt.io>
2022-10-14 06:53:39 +00:00
David Schulz
fc24f5c26d LanguageClient: use separate variable to save shutdown state
The LanguageClientManager might be already gone.

Change-Id: Ia674a8c76e0c1bb39e1503be9cffc20fd69120bb
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2022-10-14 05:33:13 +00:00
Ari Parkkila
76ffb54e90 Make rsync to be default deploy step in Boot2Qt plugin
Change-Id: I69c4cfc0f5e564544e19327f16a9d8cc1fd0b133
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Samuli Piippo <samuli.piippo@qt.io>
2022-10-14 05:06:03 +00:00
hjk
b2fb86f3af RemoteLinux: Skip initial rsync step for remote build == run
Change-Id: I4d02b666fe10adf38513939255314682222cc82e
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-10-13 15:45:09 +00:00
hjk
541ddd1ff7 RemoteLinux: Be explicit about the current rsync support
We currently only transfer host->remote device (or back),
not host->host or remote->remote. Inform the user if we
hit an (currently) unsupported combination.

Change-Id: Icd33414d7d0bc2b5db284a62b5d757989f1596c6
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2022-10-13 14:01:08 +00:00
Christian Stenger
9f8243e5cc Squish: Use callback instead of signals and slots
...when "querying" the server. There are other queries which
need to get handled properly.
Reduces maintenance as using a callback here allows to avoid
unnecessary connects and drops the need of the disconnects.

Change-Id: Ib1c2c2b5b20c84b7eee5503ad134f5ab0e18c5a6
Reviewed-by: David Schulz <david.schulz@qt.io>
2022-10-13 13:40:53 +00:00
Christian Kandeler
a34125ae11 CMake/qmake: Fix target triple for iOS targets
Neither cmake nor qmake know the full iOS compiler command line, so we
have to construct the target triple for the code model ourselves.

Fixes: QTCREATORBUG-28278
Change-Id: I6cac06f340e9388de5c86509a8df4ac00eef87cd
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2022-10-13 13:28:52 +00:00
Christian Kandeler
b6a7666697 ClangCodeModel: Do not needlessly update the configuration
... of a document.
This fixes the indexing progress bar appearing when opening a source file
(unless it has editor defines set).

Change-Id: Ia99b226abdb1d5a98a92b23eb4d7311611940b0a
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2022-10-13 13:27:22 +00:00
Jarek Kobus
161fb4c440 UnifiedDiffEditor: Fix never ending spinner when no difference
Change-Id: If0d646c760cdc8c9fb8e2481a7798eed925681b6
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2022-10-13 13:21:40 +00:00
Eike Ziller
6becc304b8 Fix compiler warnings
- private field 'm_postId' is not used
- private field 'm_hostChecked' is not used
- missing field 'AcrossEmptyLines' initializer

Change-Id: I1e31c79e078bcb68d053202ad322299b92c4fa38
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2022-10-13 13:13:07 +00:00
Marcus Tillmanns
991cd54639 Docker: Allow changing useLocalUidGid on macOS
Change-Id: Ic09b292df6ffad8fbe2257a4f5fdb5fd44cd6e4f
Reviewed-by: hjk <hjk@qt.io>
2022-10-13 13:12:22 +00:00
Rainer Keller
0377f0f2ac McuSupport: Text replacement is always empty
The replacement for %1 is always empty and does not read nice.

Change-Id: I5d23aa3dfc2a8d7365e113328f13dfd8ce7a946b
Reviewed-by: Dawid Śliwa <dawid.sliwa@qt.io>
Reviewed-by: Sivert Krøvel <sivert.krovel@qt.io>
Reviewed-by: Yasser Grimes <yasser.grimes@qt.io>
Reviewed-by: hjk <hjk@qt.io>
2022-10-13 13:03:53 +00:00
Marcus Tillmanns
f555a54f5a Docker: Detect qt6 in ubuntu container
Installing Qt 6 via the distribution packages has a
misconfigured qtchooser. To allow us to find Qt6 on these systems,
we directly search for "qmake6" as well.

Change-Id: I43f190bd2c69a0ea818308ff47bb6d9f2968e12f
Reviewed-by: hjk <hjk@qt.io>
2022-10-13 12:52:00 +00:00
David Schulz
b2dbc0965c Editor: Fix double click in editor behind content
Fixes: QTCREATORBUG-28083
Change-Id: Ie198c2f1c9911ec85ee555ff1058d2528f9e6b7d
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2022-10-13 12:11:58 +00:00
Miikka Heikkinen
67ecfd2fdc QmlDesigner: Add required import when creating nodes via 3D view
Creating nodes via 3D view context menu now adds required import if
it is missing.

Fixes: QDS-7950
Change-Id: Ibd4faff9d494a232e0fbf0fd5db3690449516bf6
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2022-10-13 11:51:42 +00:00
Marcus Tillmanns
a22d62e57d Utils: Add FilePath::isSameFile()
FilePath::isSameFile() checks if two files are the same file.
It first checks if its on the same device. If it is, it will
try to read the fileId of the files and compare them.

Change-Id: I83668955cacd4e5ed03d43a3fee2be29e9d0a6f0
Reviewed-by: hjk <hjk@qt.io>
2022-10-13 11:25:48 +00:00
David Schulz
17b1fa1618 Debugger: Fix interrupting with cdb
It turns out sending ctrl+c events to cdb results in inconsistent
behavior when trying to interrupt with the range from interrupting twice
to not at all. Use the previous method of using signal operation for
local debugging, and use the ctrl+c event only when cdb is attached to a
remote server.

Fixes: QTCREATORBUG-28279
Change-Id: Iccd2016685ba707b375aebfd88eccc253dde1d1d
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2022-10-13 10:42:20 +00:00
David Schulz
767644967c Debugger: remove can interrupt check
We are now able to interrupt via Ctrl+C so we do not necessarily need a
local inferior with a pid.

Change-Id: I31997c5d2885b748699756908ef46686798ccafa
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2022-10-13 10:42:16 +00:00
hjk
1fa3255242 Utils: Split off file access interface from IDevice
The file accessing functions form now a class hierarchy by themselves,
the devices return a suitable point.

The previous implementation was mildly confusing by the special handling
of the DesktopDevice, fallbacks and remote cases in the same function
leading to unnecessary boilerplate when adding new functions and
codepaths that sometimes passed the FilePath API twice.

Implemented are a "DesktopDeviceFileAccess" taking care of the
previous !needsDevice() branches and a "UnixDeviceFileAccess"
covering the current docker and RL uses.

As a side-effect this unifies to a large degree the current docker
and RL code paths with were occasionally deviating from each other
while they shouldn't.

Change-Id: I4ff59d4be2a07d13e2ca5e9ace26a84160a87c9d
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
2022-10-13 10:38:35 +00:00
Mahmoud Badri
348bad2fdb QmlDesigner: Fix assets library drag glitch
When clicking an asset and then moving the mouse, drag is still
active. Happens on mac and linux only.

Change-Id: Ic61a9316013271e8e16a30629416787c863840a3
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
2022-10-13 09:11:11 +00:00
Alessandro Portale
e0832ce7fc CMakeProjectManager: Default spacing in CMakeBuildConfiguration UI
Change-Id: Ida08086c4632d28f5c79e6c0351bf36125afee36
Reviewed-by: hjk <hjk@qt.io>
2022-10-13 09:09:51 +00:00
hjk
35d0e9dea8 CMake: Make configure environment optically part of configure step
Change-Id: I1b246acb2a057e624f7808d385a2d33c716d535d
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2022-10-13 09:05:10 +00:00
Marcus Tillmanns
6c858c5cd6 Utils: Fix find name operator precedence
Change-Id: I553656c3aaa96230a6be60fdff69e90be03684be
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2022-10-13 07:36:03 +00:00
Marcus Tillmanns
07f040bd1f Utils: Allow [] wildcard when using find
Change-Id: Idc8074b85213c6d301279a01cd1b838584a66133
Reviewed-by: hjk <hjk@qt.io>
2022-10-13 07:13:35 +00:00
Orgad Shaneh
20cd55046f VCS: Do not prompt on close if nothing was done
Fixes: QTCREATORBUG-22233
Change-Id: I1e8240131ccb9a6583a8ae76b3f5c93799f588a5
Reviewed-by: André Hartmann <aha_1980@gmx.de>
2022-10-13 06:55:17 +00:00
David Schulz
048fd5955d QmlProfiler: Allow setting breakpoints in profile result line
The results of a profile run are not displayed as clickable textmarks
anymore but moved to the annotation area. So do not block setting
breakpoints in those lines.

Fixes: QTCREATORBUG-28288
Change-Id: I517ce6f16dd9e03ff24b674e6b97aa4fcb5fe404
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2022-10-13 06:23:38 +00:00
Ari Parkkila
d22fba5d7f Enable deploy step via rsync for Boot2Qt target
Fixes: QTCREATORBUG-24731
Change-Id: I1a4aaa9f653d42e89488b1790d9ddd10d3fb49dc
Reviewed-by: hjk <hjk@qt.io>
2022-10-13 06:04:38 +00:00
David Schulz
e5d6f5ce82 ProjectExplorer: measure toolchain auto detection time
Change-Id: I1c0be35b6119c126f1554475f0a96c34ef14c43c
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2022-10-13 05:18:29 +00:00
Marcus Tillmanns
35de9566b6 MainWindow: Use FileUtils::get... functions
Changes the MainWindow to use FileUtils::getFilePaths function
to access files on devices instead of QFileDialog.

Change-Id: I0981c960b643edd69510cfed1cce16346962d75a
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2022-10-13 05:17:15 +00:00