Commit Graph

62421 Commits

Author SHA1 Message Date
Eike Ziller
15f3b46133 Fix mime type parsing with Qt 5
The behavior of QStringView::mid is slightly different between Qt 5 and
Qt 6, so use Utils::midView which was created exactly to cover that.

Change-Id: Ia084e93c36fb152ac725f1b8eaa38a07dfb939e1
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2022-05-02 06:29:52 +00:00
Jarek Kobus
317452ee8c PerforceChecker: Connect to QtcProcess::done() signal
Instead of connecting to errorOccurred() and finished() signals.

Change-Id: I111ea0c0bf7a68a4aa016ae789ee6ee269403808
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2022-05-02 06:18:49 +00:00
David Schulz
176dbff127 LanguageClient: support sorting outline combo box items
(cherry picked from commit 505358cb82)
Change-Id: I793700e770c830b729d0e8780fc4cbac79c01c0f
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2022-05-02 04:44:35 +00:00
David Schulz
8245ed30ae LanguageClient: support sorting outline widget items
(cherry picked from commit 46a012bc11)
Change-Id: Iead37c07f09c2f961d506caef76562fb1b3dc308
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2022-05-02 04:43:43 +00:00
David Schulz
4661a4946d LanguageClient: select innermost outline widget item
Reuse the code that selects the innermost item in the outline combobox
also in the widget so the behavior is consistent.

(cherry picked from commit b97204ebb6)
Change-Id: Ie7c32ba4e6c5cbdd608da207e515c737e3bd91e6
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2022-05-02 04:31:40 +00:00
Jarek Kobus
645d71b3db PerfProfiler: Use QtcProcess instead of IDevice::createProcess()
And pass a device path to command instead. The QtcProcess
should automatically select the device's process implementation
when the process is running.

Change-Id: Id3fed8656999af58ce1a5ba0632f94c3dc76ab04
Reviewed-by: hjk <hjk@qt.io>
2022-04-29 15:57:51 +00:00
Jarek Kobus
ddb4ecae32 RemoteLinuxEnvironmentReader: Fix fetching remote env
This can be tested in run settings for the app on remote
device after expanding environment details and pressing the
"Fetch Device Environment" button.

Change-Id: Ic488eaae5a40443380ddfd8b01af3e92f2557e5d
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
2022-04-29 15:57:45 +00:00
Jarek Kobus
709492ef11 LinuxDevice: Use LinuxProcessImpl for opening terminal
Don't use SshDeviceProcess anymore for opening linux terminal.
Fix running the empty command so that it opens ssh shell.
Don't leak terminal processes on shutdown.

One issue is that terminals are closed when closing settings,
as settings dialog operate on a copy of device, and in case
of no modifications applied the copy is being deleted.
The current workaround is to press the "Apply" button
before closing the settings dialog. This issue is to be
addressed separately.

Change-Id: I3c48b035daf1d099a1e8fa0762a6d6d0eca9592c
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
2022-04-29 15:57:20 +00:00
Eike Ziller
1eabb6f185 Locator: Save history of execute filter
Fixes: QTCREATORBUG-27381
Change-Id: I2a053e4e2e978034fcbfc15a6ecfff04a057ffaf
Reviewed-by: David Schulz <david.schulz@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2022-04-29 12:22:57 +00:00
Christian Kandeler
57fbf9bef9 CppEditor: Consider -include flags from the project again
The fallback for build systems without a dedicated property for this got
lost somehow in 9c3420120e.

Fixes: QTCREATORBUG-27450
Change-Id: I70768220523693b9423a8256cef3d79f4d9dfd58
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2022-04-29 12:02:22 +00:00
hjk
62f6c1e1d6 ProjectExplorer: Remove now-unused RunControl::runConfiguration
Change-Id: I312277813763d264dc7904042bbe6005350c3870
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2022-04-29 11:44:55 +00:00
Christian Kandeler
c21774f0a7 ClangCodeModel: Remove libclang-based locator filter
Change-Id: I1c588a7bfdee773662d1956e9a998040794b8c9d
Reviewed-by: David Schulz <david.schulz@qt.io>
2022-04-29 11:35:10 +00:00
Christian Stenger
2e725b4869 Fix qbs build
Amends 88781a003f.

Change-Id: I5b44d89cc1b536d0d533cd29fc3a06005a7c80d3
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2022-04-29 10:15:21 +00:00
Brook Cronin
61008bcd47 Rework QtDS Splash Screen to show telemetry options
* clean up Design to a more minimal style
* remove some unused components

Change-Id: I37af39a1cae6b6f14f769383ac73c00570729f4f
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2022-04-29 08:36:25 +00:00
Cristian Adam
88781a003f CMake: Qt Creator Static build support
This adds the build system feature that allows Qt Creator's libraries
and plugins to be compiled statically.

Fixes some symbol clashes when all plugins are linked into the same
executable.

Support for actually loading static plugins will be added in a separate
commit.

The feature is controlled by QTC_STATIC_BUILD which by default is OFF.

Change-Id: I1fab7953c43e42dc75619e35660029ee067106df
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2022-04-29 07:16:53 +00:00
David Schulz
58b0a5056c Editor: Allow selecting a group of whitespaces with double click
Fixes: QTCREATORBUG-24607
Change-Id: I993e2c3a8f1054fc6787cca8e22704fb5b2ab9d1
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2022-04-29 07:12:23 +00:00
Jarek Kobus
703dbd9c79 QtcProcess: Add a warning when starting a process in non-QThread
When a QProcess is being started in a thread that doesn't have
event dispatcher installed, e.g. in a thread started with
std::async(), the process signals are emitted only from inside
QProcess::waitFor...() functions, but not emitted spontaneously.
This may cause issues when adding the running process into the
ProcessReaper, as the implementation of the latter relies on
signal emission and doesn't use blocking API of QProcess.

Currently there is one case like this: ProcessCreator::createProcess()
of clangsupport library.

Change-Id: I823a139b356f62fee9e0e5d6fc8326301c36b449
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-04-28 20:15:30 +00:00
hjk
b971c27312 Utils: Use a somewhat better fallback when no environment was set
Change-Id: Ic92b7b2bf50ecfed4790393a763b17bb988e892c
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
2022-04-28 16:21:59 +00:00
Jarek Kobus
cdae5bdebd LinuxDevice: Don't use SshRemoteProcess for shell
Use simple QtcProcess for it.

Change-Id: Ie73a287cc4bf37a0fba273f3fe355626ff1c27f6
Reviewed-by: hjk <hjk@qt.io>
2022-04-28 15:13:41 +00:00
Jarek Kobus
d1d2477605 LinuxDevice: Restart shell when ssh parameters changed
Change-Id: I96fa7de4f8314ccd3c78bee165b722fdbba6e8d0
Reviewed-by: hjk <hjk@qt.io>
2022-04-28 13:57:08 +00:00
hjk
a06721fe71 QmlPreview: Remove last use of RunControl::runConfiguration()
Change-Id: I7853b3bce952004abaac9145b28deb049b5d09cc
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-04-28 13:54:50 +00:00
hjk
4d8ef8d6e1 ProjectExplorer: Inline some ApplicationLauncherPrivate functions
To help with future re-organization.

Change-Id: I8fd87d3e792f8e5be86aaa0bc9754eae9b92b328
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
2022-04-28 13:09:22 +00:00
hjk
b3c4d2c1aa ProjectExplorer: Streamline ApplicationLauncher result handling
Change-Id: Ieac41c3d6dda19f829d1294732897d8385ef0d8e
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
2022-04-28 12:04:27 +00:00
Christian Kandeler
e045af7e69 ClangCodeModel: Remove libclang-based outline support
Change-Id: Ic7a7b0cfe1d3eb822dbad610fc84f29676404505
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: David Schulz <david.schulz@qt.io>
2022-04-28 11:34:46 +00:00
Christian Kandeler
52d9def5e9 ClangCodeModel: Remove libclang-based tooltip support
Change-Id: I63d934fc3d480e3c5198e7db1a595b3309e89533
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: David Schulz <david.schulz@qt.io>
2022-04-28 11:26:04 +00:00
Piotr Mućko
7cef593ec0 McuSupport: Extract settings handling to a class
Change-Id: I671098f14d7bc13255dc130a4de1ab97d5bdab94
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2022-04-28 10:29:20 +00:00
David Schulz
e675bb7860 QmlProfiler: Use annotions instead of custom icons on marks
To display the relative cost in the editor a custom text mark icon was
painted with a custom width factor for qml profiler marks. Move this
textual information into a line annotation and be a bit more verbose
what kind of information was collected in that line.

Change-Id: I863c2afa52f2acdf19ffcab3dfc95af566ac0efe
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-04-28 10:10:39 +00:00
hjk
3cfee28022 ProjectExplorer: Use one function for done() in application launcher
This only shifts the 'if' down one level.

Change-Id: I2c049d9a38d786698c728e88d15b0129eba35aed
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
2022-04-28 10:03:19 +00:00
Knud Dollereder
9195d0dd2c Improve Animationcurve editor
- Prevent insertion of invalid animation ranges that may cause DS
  hanging
- Properly update the toolbar when switching to a different qml file
- Show an informative text instead of the empty curve editor when
  the current file does not contain a timeline
- Move the toolbar into its own class
- Add an implentation to the "Set Default" button

Fixes: QDS-6543
Fixes: QDS-6542
Fixes: QDS-6545
Fixes: QDS-6544
Change-Id: Id6bc1457627ea23a670e74ea335fbb475711b9a6
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2022-04-28 10:01:46 +00:00
Christian Kandeler
f2c267f328 ClangCodeModel: Remove libclang fallback for "follow symbol"
... and "switch between declaration/definition".
It's either clangd or built-in code model now.
Use the opportunity to dissolve the pointless FollowSymbolInterface
class hierarchy, which introduced a confusing parallel inheritance
chain.

Change-Id: I792ad55656c5dd9f10c6b4db7c5c36cf7be45125
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: David Schulz <david.schulz@qt.io>
2022-04-28 09:47:52 +00:00
Jarek Kobus
8e586dfa02 AbstractProcessStep: Connect to QtcProcess::done() signal
Instead of connecting to finished() signal.

Change-Id: I2c1266bf699f54053fde37bb7ff22a93131e6b11
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-04-28 09:44:36 +00:00
hjk
f01ebebb93 ProjectExplorer: Use plain QtcProcess in DeviceUsedPortsGatherer
Instead of DeviceProcess.

Change-Id: I0e1dedf63faad7dbfca5b6c58fbfe72c7ef2c052
Reviewed-by: hjk <hjk@qt.io>
2022-04-28 08:49:33 +00:00
Alessandro Portale
1811b381eb ProjectExplorer: Prevent out of range access on recent projects list
ProjectExplorerPlugin::recentProjects() filters out non-existent files.
Because files could at any time be removed/renamed, we cannot presume a
certain, constant length of the list when calling recentProjects() a
second time.

Fixes: QTCREATORBUG-27399
Change-Id: I3f09830896b308e251881c855abb552b6022695f
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2022-04-28 08:36:00 +00:00
hjk
aa3bdcb427 Utils: Add a QString-based write to QtcProcess
Centralize some boiler plate and warn about best-guessed cases.

Keep the QByteArray based access as writeRaw()

Fixes: QTCREATORBUG-27445
Change-Id: I948d80fba78b36cf85cc73664175ab05eb7707d4
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
2022-04-28 08:20:11 +00:00
Mahmoud Badri
a984e9c097 QmlDesigner: Fix possible crash on exit
Crash log:
https://sentry.io/organizations/the-qt-company-00/issues/3227370374/?project=5421708

Change-Id: I73b574d565cc1f66ddec1fedcb96e3acd7c1ad72
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2022-04-28 07:33:47 +00:00
Eike Ziller
93401c9c81 UpdateInfo: Retrieve output of maintenancetool calls separately
ShellCommand doesn't support retrieval of individual sub-jobs.
Simply use chained QtcProcesses and add a progress item directly.

This gets rid of fragile hacks that were needed to combine the output of
the two calls into a valid XML document.

Change-Id: I426c74f5fd2c522850daf9c077bfd09ce3f88bb1
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2022-04-28 06:12:42 +00:00
Jarek Kobus
dea5dec04b PerfTracePointDialog: Connect to QtcProcess::done() signal
Instead of connecting to errorOccurred() and finished() signals.

Change-Id: I82d9a2fbd583a6b1ffce2083369f683c9a208c18
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: hjk <hjk@qt.io>
2022-04-27 15:04:53 +00:00
David Schulz
26df1852d0 LanguageClient: do not highlight unknown tokens
If the language server registers token types for unsupported tokens do
not use the default text style for those tokens since it might overwrite
correct syntax highlighting.

Thanks to Alex Drozdov for providing a patch

Fixes: QTCREATORBUG-26193
Change-Id: I5d70763bc1e9434ffc6241d94f50f3bb3852e62c
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2022-04-27 12:16:00 +00:00
David Schulz
fabbf88db5 LanguageClient: add support for two additional token types
Change-Id: I46f80af0da8cb42262842b5243630fa0087d564a
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2022-04-27 12:15:55 +00:00
Jarek Kobus
41c2e23129 GerritModel: Connect to QtcProcess::done() signal
Instead of connecting to errorOccurred() and finished() signals.

Change-Id: Ibd5afa812cc9f8781984b649c9cb85a8703e9c8e
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2022-04-27 12:09:07 +00:00
hjk
9daad02b92 ProjectExplorer: Work around warning when building without tests
"AutoMoc: .../plugins/projectexplorer/sanitizerparser.cpp:0:1:
note: No relevant classes found. No output generated."

Change-Id: Iab2900761fc4362bb88d5ab464c963df69873cbc
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2022-04-27 11:42:12 +00:00
Piotr Mućko
f995b6c961 McuSupport: Hide packages w/o label
Change-Id: Ic8937399f800e98dac743b9d9caeac414d5216a6
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2022-04-27 11:15:47 +00:00
Jarek Kobus
c8a2e4aaa2 RemoteLinuxEnvironmentReader: Connect to QtcProcess::done() signal
Instead of connecting to errorOccurred() and finished() signals.

Change-Id: I357b95db5889c09d036abdb76ca9f014be7a9cf5
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: hjk <hjk@qt.io>
2022-04-27 11:12:10 +00:00
Piotr Mućko
1587896537 McuSupport: Use FilePath in version detector
Change-Id: I54d04881c0b759caeaa83156c606a539369f482b
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Christiaan Janssen <christiaan.janssen@qt.io>
Reviewed-by: hjk <hjk@qt.io>
2022-04-27 10:38:58 +00:00
hjk
6e5415e95f Ios: Move runControl's runConfiguration calls further up
The data is now pulled out of the runconfig directly instead of relying
on the indirection using the runconfig pointer inside RunControl.

This is only barely better, but gets rid of one direct user of
RunControl::runConfiguration().

Change-Id: If93576ba25ea9f3ddbeae2535217f5c2f361eaf6
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2022-04-27 10:03:57 +00:00
hjk
5ed95d7088 Utils: Suppress warnings in MimeType code
Change-Id: I90c8650ccea850a2d3329700ef4f772dc44d9c63
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2022-04-27 09:31:41 +00:00
Eike Ziller
0d586e96ec Merge remote-tracking branch 'origin/7.0'
Change-Id: Ica0f410a8248722cef95a9cbf3929a2d29bf91c0
2022-04-27 11:19:31 +02:00
hjk
0da130c4ef Python: Apply 'static' pattern for singleton members
Plus some cosmetics.

Change-Id: Ia2c8f425f0491fbe6a0bbf2e508857a5550e4d38
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: David Schulz <david.schulz@qt.io>
2022-04-27 08:55:02 +00:00
hjk
28cfdf388a Promote previously python-specific InterpreterAspect
... and drop PythonRunConfiguration, which is a plain RunConfiguration now.

Change-Id: I540cb738180fc1424f730d6d1998886915ce527b
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: David Schulz <david.schulz@qt.io>
2022-04-27 08:54:22 +00:00
hjk
9a6d8aebe7 CMake: Even less indirection
Change-Id: If9990f81e4150802dd08e0fc17a1faceb32e0cc6
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2022-04-27 08:54:08 +00:00