Commit Graph

72643 Commits

Author SHA1 Message Date
Assam Boudjelthia
4a228ab764 Android: Update Default Ndk version, build-tools, platforms versions
NDK r22b is used in Qt 6 and on 5.15.9 onward. Also update the
build-tools and platforms to a more recent version.

Change-Id: Ia9829def010047af528ce704f769a40910093fba
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-02-01 09:10:49 +00:00
Leena Miettinen
749a9b27ec Doc: Describe Language Client Inspector
Users can inspect the communication between Qt Creator
and language servers and view server capabilities.

Task-number: QTCREATORBUG-26929
Change-Id: I9ad4518eea030ba70dda2f0b956b319b3682af0f
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: David Schulz <david.schulz@qt.io>
2022-02-01 08:45:18 +00:00
Mats Honkamaa
3ecfb5739c Doc: Update all LoginUI tutorials
Update all LoginUI tutorials and the documentation for them.

Task-number: QDS-5915
Change-Id: I5a2665ca08ae3d167dfb5e937ee36c96f42ccd9a
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
2022-02-01 08:33:02 +00:00
David Schulz
fe0352669d Revert "macOS: Fix Delete with Google Japanese IME"
This reverts commit 5a3648c895.

Reason for revert: breaks other shortcuts like shift+del to cut the current line under the cursor

Change-Id: I5313c66df9dfa4283cc3f84ce9e7fd5464d0f73e
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2022-02-01 07:06:26 +00:00
Alessandro Portale
e58f50df2a Android: Remove html code from tr-strings in keystore creation dialog
This change removes markup with its unthemed color values from
translatable strings. Terminates error messages with a ".". Adjusts the
message strings in the .ts files, accordingly.

The error label is changed from QLabel to Utils::InfoLabel.

Change-Id: Ifdd65de8d9e0ae311b494e70b9dc77ca0a3e4f46
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: Robert Löhning <robert.loehning@qt.io>
2022-01-31 21:45:28 +00:00
Cristian Adam
d5eed0480d CMakePM: Save initial configuration changes on "exit"
Previously the changes to "Initial Configuration" would be done only
after pressing "Re-configure with Initial Parameters".

Now the settings are saved when the widget is closed:
- a different kit is selected
- a different build type is selected
- project is closed
- switch between build and run settings

This way the changes are not lost.

Change-Id: Ia2c1c10c59bfa101332066205f98684843266f94
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2022-01-31 16:43:04 +00:00
Christian Strømme
4a0c6f1e78 Fix invalid usage of temporary data
Make sure the return value stays valid in the scope we're using it in.

Change-Id: Ifa8a7ef88c9189ba90f5adb699b284f381a59488
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-01-31 16:04:12 +00:00
Cristian Adam
a7d3f9fdba CMakePM: Display current value in CMake settings as tooltip
If you change the value of a CMake parameter in CMake settings the
new value was not displayed in the tooltip, the old value was.

Change-Id: Ie182ef42f8bf48651d170da8054d7f60f9080088
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2022-01-31 15:14:07 +00:00
Mahmoud Badri
25fa5540ea QmlDesigner: Implement adding and removing asset folders
Also corrected assets view margins and few relevants tweaks.

Task-number: QDS-5795
Change-Id: Ieeb68584bcb261422f48ec1a865f510a00c251f5
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2022-01-31 14:57:22 +00:00
Miikka Heikkinen
01f33fe4f1 QmlDesigner: Enable MSAA on edit3D view
Change-Id: I792156d08378d025cb9dae9f3a8cb00439198a6d
Reviewed-by: Jarko Vihriala <jarko.vihriala@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2022-01-31 14:09:45 +00:00
Christian Kandeler
a77f5d41b4 CppEditor: No longer refer to clangd as experimental in the UI
Change-Id: Iadfbdf23a92ee551fff03f5eb5b8a1b2b15b0870
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: David Schulz <david.schulz@qt.io>
2022-01-31 13:58:16 +00:00
Orgad Shaneh
2ee739b362 Git: Fix bad access to temporary storage
+ limit the fix to cases with HOMESHARE.

Change-Id: Ic108ab49eb3b64d5e1d302466c74610acc412175
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
Reviewed-by: André Hartmann <aha_1980@gmx.de>
2022-01-31 12:49:40 +00:00
Jarek Kobus
74ea443ebf LinuxDeviceProcess: Remove unused setRcFilesToSource()
Change-Id: Ica834cbecfa481a3a6c94519a9799c4b917d49a1
Reviewed-by: hjk <hjk@qt.io>
2022-01-31 09:33:57 +00:00
Jarek Kobus
f7c9dac3a7 SshDeviceProcess: Don't store exitCode
Change-Id: Id957dc7b0e71d0d1376716cb2b63c83d43cc1a14
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: hjk <hjk@qt.io>
2022-01-31 09:32:11 +00:00
Miikka Heikkinen
d48a4bd60f QmlDesigner: Add 3D editor visibility toggle actions
Added toggle for showing selection boxes, camera frustums, and icon
gizmos.

Fixes: QDS-5954
Change-Id: I97e12a3a04b9a1a1af5851e382f36c58ee869f45
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2022-01-31 09:15:32 +00:00
hjk
fd49c1d567 Android: Compile fix for Qt 5
Amends 49443d689.

Change-Id: Idadb794b85bebff9678b54f55f8b9822719a8d8a
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2022-01-31 08:45:35 +00:00
Jarek Kobus
773f8a5bbe SshDeviceProcess: Don't buffer stdOut and stdErr
It's already being buffered inside remoteProcess.

Change-Id: I5fd90df600454563342aaf142d21df28a404d9ba
Reviewed-by: hjk <hjk@qt.io>
2022-01-31 08:24:49 +00:00
hjk
f529ec492c Debugger: Add dumper for qdump__boost__container__devector
From https://lists.qt-project.org/pipermail/qt-creator/2021-August/008922.html

Change-Id: I85fff706e7f90a8182a434316fed4b6a43958af6
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2022-01-31 07:48:06 +00:00
hjk
9ec997b376 ProjectExplorer: Base DeviceProcess on QtcProcess
... instead of having a member.

Change-Id: I75e8d7600eb17c7528fe9525d2e1aa871b282ad9
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-01-31 07:44:24 +00:00
hjk
330dfa7e84 ProjectExplorer: Use a QtcProcess member in DeviceProcess
All derived class have one one way or the other. Mid-term plan
would be to actually base DeviceProcess on QtcProcess and to
potentially dissolve it completely later.

Change-Id: Ie3bc48dcdc30bc2da5557ad26babf6959a3efa04
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-01-31 07:44:16 +00:00
Christian Stenger
36a2bffc54 PE: Fix warning from QCssParser
Change-Id: I28ccf4f8b6d102dc03b198c057ccf222bf0a5836
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2022-01-31 05:51:34 +00:00
Alessandro Portale
49443d689e Android: Detect available Ndk platforms also for recent Ndk versions
In order to detect the list of platforms that an Ndk installation
supports, AndroidConfig::availableNdkPlatforms iterates through the
directories of the Ndk.

The directory structure of the Ndk changed in the recent versions. So
that the detection that works with Ndk 19 does not work with Ndk 23.
Also, the new directory structure is split up by Android ABI. And the
lists of supported platforms differ between ABI.

This change adds detection for the new structure, in case that the
old implementation fails to return a list. It also adds an autotest
that covers the old and new detection of supported platforms.

Fixes: QTCREATORBUG-26772
Change-Id: I6e584963f51feca0bf90c7ed3a9fdb03cb5d39e6
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
2022-01-30 19:11:45 +00:00
Alessandro Portale
d087fe424d Android: Set debugger sysroot also for recent Ndk versions
Android debug support specifies the sysroot inside the used Ndk.

Recent Ndk versions have a different folder structure which moved the
sysroot location inside the Ndk to somewhere else. This change adds
finding the sysroot in the new directory layout in case it cannot be
found in the traditional location.

Instead of Ndk version checks, this code uses FilePath::exists to see if
the sysroot is valid.

Fixes: QTCREATORBUG-26814
Change-Id: I37db3043e405b83168d7c80c522d31bc148e458c
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
2022-01-30 18:13:45 +00:00
Orgad Shaneh
9cbf0904db Clang: Remove redundant warning suppressions
They are no longer needed with Clang 12.

Change-Id: I964d53e6a106b38cd32a7f34bbad6e15e0dd7e48
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2022-01-30 11:53:57 +00:00
Christian Kandeler
f51928d438 Update perfparser submodule
Change-Id: Ief0eb584f4fc9f8ff68fdc138e63fddfd7e1e697
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-01-28 15:12:29 +00:00
Mahmoud Badri
d5eab11359 QmlDesigner/StateEditor: Improve adding new states
- Added a big add button at the end of the states list.
- Small add states button jumps in (bottom right) when the big button
is out of the view.
- View scrolls to the end when a new slide is added.

Task-number: QDS-5973
Change-Id: Ida96bd663cc0caf32889638fbf4ac9f617916368
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2022-01-28 14:35:17 +00:00
Mahmoud Badri
0d3ef2489d QmlDesigner: Add some states view improvements
- Added a gray border around unselected states.
- States resize to fit view height.
- States are centered vertically in the view.
- Removed collapse option, auto collapse when space is small.
- scroll bar always at the bottom.
- Overshoot list ends.
- Added margins around the states.
- Add states button: make it small and docked to the bottom right.
- Add states button doesnt take space from the view.

Change-Id: I4fc96f4341a6e4a0c70509240b7aed9c7890ec4d
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
Reviewed-by: Samuel Ghinet <samuel.ghinet@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-01-28 14:29:41 +00:00
Miikka Heikkinen
3ac3b61727 QmlDesigner: Ifdef nanotrace.h out if nanotrace lib is not included
Nanotrace headers are not exported to build dir at all if the feature
is disabled, so runtime puppet build can't find them. We have to
ifdef out the header include and define the required macros as empty
in puppet.

Fixes: QDS-6107
Change-Id: I702c3ed5521d30ee0b253d035dea4ea00d00848f
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-01-28 14:03:26 +00:00
Cristian Adam
ff66f501f2 CMakePM: Do not flush CMake parameters model on parsing complete
The flush there was as a "hack" for the case:

1. failed initial configuration (CMAKE_GENERATOR as Ninja2)
2. successful configuration

The current configuration would get current items with unexpanded
values e.g.: QT_QMAKE_EXECUTABLE:STRING=%{Qt:qmakeExecutable}

But flush also removed the expanded values of the selected
initial parameters from CMakeBuildSystem::updateInitialCMakeExpandableVars

This is useful when CMAKE_CXX_COMPILER changes or
CMAKE_PROJECT_INCLUDE_BEFORE gets a new path to the new Qt Creator.

Change-Id: I480ce141d043d8ba6001fa47a54b066762b6a128
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2022-01-28 13:54:28 +00:00
Cristian Adam
0923d8676e CMakePM: Display CMake kit mismatch values in Settings page
updateFromKit() is now called on parsingFinished and the configuration
values that differ from the ones in the Kit's CMake configuration
will be displayed in red.

The "Initial Configuration" page will display the mismatches between
kit's CMake configuration and initial parameters.

The "Current Configuration" page will display the mismatches between
the initial parameters and the current CMake parameters.

The Tooltip is displayed with a bit of more space between values
for more readability.

Change-Id: I6ebfa71951cf979ab08f097befed2d43b74e4d6e
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2022-01-28 12:42:25 +00:00
Thomas Hartmann
6073f3396c QmlDesigner: Disable crashpad in the qml2puppet
If the host proecess crashes then qml2puppet will also be shutdown.
I suspect this can lead to crash reports of the host application
not properly reported.

Change-Id: Ic503874ce660db3311958ecd0718255a1cf3daea
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2022-01-28 12:39:10 +00:00
Alessandro Portale
9e2554b660 Use Utils::Archive instead of java's jar in AndroidSdkDownloader
The exctraction of the downloaded commandlinetools zip file via java's
jar tool did suddenly not work anymore on Windows. The exit code of
jarExtractProc in AndroidSdkDownloader::extractSdk would be != 0.

Instead of fixing the jar usage, this change replaces it with the
recently added Utils::Archive.

That has the advantage that it preserves the file permissions while
exctracting, so that we can also get rid of setSdkFilesExecPermission.

Another advantage is that the SDK can be extracted even before a jdk
has been selected.

Change-Id: I99cc2aff8e183108eb11dbf96f06557e5b299d56
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
2022-01-28 12:35:45 +00:00
Christian Kandeler
abe09bfd76 ClangCodeModel: Adjust cursor for following destructor symbols
... with clangd. More specifically, for the case where we switch between
declaration and definition of a destructor. Since clangd expects the
cursor before the "~" character, we move it there.

Fixes: QTCREATORBUG-26809
Change-Id: I8ea6a060bea3545c963cb8ebbe2d3ae3a18da2d5
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2022-01-28 12:34:48 +00:00
Jarek Kobus
dd527a3890 SshRemoteProcessRunner: Remove unused command() method
Change-Id: If45ea80b892cb683aa3737dd73244fa4b669abc4
Reviewed-by: hjk <hjk@qt.io>
2022-01-28 12:26:01 +00:00
hjk
3769169b8e Utils: Introduce a struct for QtcProcess ctor arguments
We'll need a lot of combinations.

Change-Id: Ic92ad6fba1d96c42571be76f7c24b253f210b132
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2022-01-28 12:20:35 +00:00
Jarek Kobus
1d15a934cd QtcProcess: Get rid of useTerminal
Remove SshRemoteProcessRunner::runInTerminal() method,
it wasn't used anywhere (just in test).
Remove QtcProcess::useTerminal, as process should be
created in TerminalOn mode when there is a need for terminal.
Add a parameter to
SshRemoteProcess::fullLocalCommandLine(bool inTerminal)
as this may still be needed when running application
through ssh from terminal (ssh -tt option).

Change-Id: I71911082fcca190b82a1106a2ca1ca48dc5d4c79
Reviewed-by: hjk <hjk@qt.io>
(cherry picked from commit 95a9b22f6f)
2022-01-28 12:19:12 +00:00
Robert Löhning
7a8ca55f77 Squish: Introduce helper function for checking for strings
In Python3 type unicode is unavailable since it's implicit with "str".
The new functions helps porting code.

Change-Id: I5de0fa182acbbaf267ed51f66f658cb9c884f4c5
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2022-01-28 11:00:35 +00:00
Robert Löhning
4980f71dd5 Squish: Update tests which use "Rename Symbol Under Cursor"
When using this on open files, Creator used to make the changes
but not save the file. Creator 6 now also saves the file unless
it already contained other changes. Because the file is being
saved immediately, "Save All" and "Revert to Saved" cannot be
used in this situation anymore.

Change-Id: I0b8a58d998c54ccceae6d178b2c7a6f6182c7ad0
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2022-01-28 10:59:39 +00:00
Alexander Drozdov
5c53dc5e13 Ssh: fix crash on freed memory access
At the cleanup() method we must remove connection from the m_connection
list to avoid access to the freed memory from the
removeInactiveConnections() that caused Qt Creator crash.

Change-Id: I8195f05e903819e3e3b48b2f72fd71047c5a1636
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-01-28 09:46:22 +00:00
Miikka Heikkinen
557489c3fc QmlDesigner: Fix camera frustum initialization for Qt5 builds
In Qt5 builds, we need additional async update at camera geometry
initialization to ensure source camera is up to date and frustum mesh
can be constructed.

Fixes: QDS-6071
Change-Id: I41371ae66fde432b0fdf4b5fee6a0604d005bf63
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2022-01-28 09:00:57 +00:00
Miikka Heikkinen
161d25571b QmlDesigner: Change camera id in 3D app template
Id "camera" conflicts with property name on View3D.

Task-number: QDS-6081
Change-Id: If6a06a9aff75620fc657a8285ac6b2b2a1e8ebc0
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2022-01-28 08:59:15 +00:00
Miikka Heikkinen
94a17f1e7e QmlDesigner: Fix 3D picking of RuntimeLoader loaded models
RuntimeLoader creates the loaded nodes dynamically, similar to
Repeater3D and Loader3D, so handle it similarly as well.

Fixes: QDS-6053
Change-Id: Iece15254e720cfc0a6796b182ef00c3a773cf35d
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2022-01-28 08:58:49 +00:00
Christian Stenger
5887d13d46 Docker: Fix crash while removing auto detected toolchains
Change-Id: Id0cf4346b97f54247ad81ae0d93a42935dca8a0f
Reviewed-by: hjk <hjk@qt.io>
2022-01-28 07:09:24 +00:00
Christian Stenger
5c1b4d2b48 Debugger: Fix removing auto detected debuggers
Do not remove items while iterating over the tree
or we may crash when removing more than one.

Change-Id: I007672be94a7e6449cf25c965c07ca714049ae97
Reviewed-by: hjk <hjk@qt.io>
2022-01-28 07:09:15 +00:00
Alexander Drozdov
3869487a47 Allow to build ClangFormat plugin with CLANGTOOLING_LINK_CLANG_DYLIB
Some Linux distributives provides moders clang without separate libs
compiled, like libClangTooling and so on. Just provide libclang.so and
libclang-cpp.so.

Qt Creator provides way to handle such clang installation by
pointing flag CLANGTOOLING_LINK_CLANG_DYLIB=On for CMake. But
ClangFormat still keeps from building. Fixed it.

Change-Id: Id420f82c47c4205c8cd631aa04be6771628984be
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2022-01-27 22:20:58 +00:00
Orgad Shaneh
707e7ba41f ClangFormat: Suppress warnings from llvm
Change-Id: Id79abc3ea87576a681d86a7c1bd3be957acc299f
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2022-01-27 20:15:15 +00:00
Aleksei German
35d32c9784 QmlDesigner: Update for QUL metadata
Task-Numbers: QDS-5867, QDS-5890
Change-Id: If27d947d88e34f8479796520dad2bee62a6d0ec9
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2022-01-27 16:26:01 +00:00
Leena Miettinen
8ace5d3895 Doc: Update info about ClangFormat options
The options are now in a separate tab.

Fixes: QTCREATORBUG-26597
Change-Id: If2d337c132f468897cd71e217205c3db29028f34
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2022-01-27 14:58:21 +00:00
Eike Ziller
a89f6919d2 StudioWelcome: Only replace wizards when running as Design Studio
Task-number: QTCREATORBUG-26936
Change-Id: I11c14bd916a7139fc4d133b8b3b8a79fa7770409
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
qds/v3.0.0
2022-01-27 12:24:46 +00:00
Tapani Mattila
a117a558fe CMake generation: Streamline confirmation dialog
Task-number: QDS-5991
Change-Id: I1cec8650703ca5de936739d1adbba77d0b64562e
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2022-01-27 11:00:04 +00:00