Commit Graph

62421 Commits

Author SHA1 Message Date
Aaron Barany
df0593b5e1 Utils: Preserve output order with merged channels
Restored the process channel mode members to ProcessSetupData and
StartProcessPacket and forward to the QProcess created in
LaunchSocketHandler. LaunchSocketHandler now avoids reading from stderr
for merged channels since it's guaranteed to not be available.

This avoids asserts in Qt 6.3.0 and warnings in Qt 6.3.1 while
preserving the original output order when an application has a mix of
stdout and stderr output.

Change-Id: I9f4541932cf9d8638b38658a5efea9cb5f1798f3
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
2022-04-19 19:39:24 +00:00
Christian Kandeler
0cb569a39b ClangCodeModel: Fix check for AST nodes from included files
If an AST node contains no file info, then we must use the one of the
parent node, in order not to create highlighting results for tokens from
other files.

Fixes: QTCREATORBUG-27384
Change-Id: I7c6f0c06063df9ce76feef333907d9d4f07a38e5
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: David Schulz <david.schulz@qt.io>
2022-04-19 14:04:35 +00:00
Alesandro Portale
411b82347a Docs: Remove "Introduction to Qt Creator IDE" talk
The Video https://www.youtube.com/watch?v=nGFmjOiT22Y is not available,
anymore.

Change-Id: I2adcf6281ad57140537b8d99b584d9a0d3793bba
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
2022-04-19 12:33:13 +00:00
David Schulz
37a26f77b7 Editor: fix indenting selections spanning multiple lines
Fixes: QTCREATORBUG-27365
Change-Id: Ibf98bf832e93598fd5d08cb6d5f6422e88480b63
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2022-04-19 12:05:35 +00:00
Christian Stenger
4de0f1701b Fonts: Provide bold italic font
Linux fails to automatically mix bold and italic styles of
fonts while other OS seem to be able to handle this
appropriate.
Provide a bold italic font to not rely on the underlying
font engine.
As on it update the other fonts to the same version.
(Roman fonts version 2.038, Italic fonts version 1.058)

Fixes: QTCREATORBUG-27355
Change-Id: I68884a11dd33c57372f946dbf9ee05f04b7ebc36
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: David Schulz <david.schulz@qt.io>
2022-04-19 11:51:56 +00:00
Aaron Barany
90e879bbd1 ProcessLauncher: avoid reading stderr for merged channels
This will assert on Qt 6.3.0 and print a warning for Qt 6.3.1 and later.

Change-Id: I837fbde3358a5a0e5cc29b8486ed7b4e9837a976
Fixes: QTCREATORBUG-27385
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
2022-04-19 09:42:30 +00:00
Henning Gruendl
6015a4d839 QmlDesigner: Rename navigator search placeholder
Change-Id: I7c6cdad1c5adcda3e5ef4767a8dbf55394e2d4fb
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
2022-04-19 08:25:43 +00:00
Jarek Kobus
db5ae9d236 QnxDevice: Connect to QtcProcess::done() signal
Instead of connecting to errorOccurred() and finished() signals.

Change-Id: Ic01a00c9afb05a7ceff8aa8c6608c0992c82071d
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Rafael Roquetto <rafael.roquetto@qt.io>
2022-04-19 06:15:44 +00:00
Jarek Kobus
703525f74b Slog2InfoRunner: Connect to QtcProcess::done() signal
Instead of connecting to errorOccurred() and finished() signals.

Add some missing basic error handling.

Change-Id: I5faee9901b5820cd972cf5f6e47880addfbf1d1e
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Rafael Roquetto <rafael.roquetto@qt.io>
2022-04-19 06:15:20 +00:00
Jarek Kobus
fb12dd5a55 DeviceUsedPortsGatherer: Connect to QtcProcess::done() signal
Instead of connecting to errorOccurred() and finished() signals.

Change-Id: I0bd13b366abe62749e16173db2c462e7d4c6ea27
Reviewed-by: hjk <hjk@qt.io>
2022-04-14 13:50:14 +00:00
Jarek Kobus
e398092251 TerminalRunner: Connect to QtcProcess::done() signal
Instead of connecting to errorOccurred() and finished() signals.

Change-Id: I3c96c61fab4dd23e75b773d6347eb3aa62ce3dd0
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: hjk <hjk@qt.io>
2022-04-14 13:50:01 +00:00
Jarek Kobus
44c7020651 ProcessInterface: Get rid of state() method
This is fully controlled by QtcProcess itself, so provide
general implementation of state() inside QtcProcess.

Task-number: QTCREATORBUG-27358
Change-Id: Id6f0b771ed933f870b80d6856c6d94896f946516
Reviewed-by: hjk <hjk@qt.io>
2022-04-14 13:49:25 +00:00
hjk
160dc16921 RemoteLinux: Rename AbstractRemoteLinuxDeployService::profile()
... to kit().

Change-Id: I2ec33fce01c44d7d9da66b6b642068cbb7943758
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2022-04-14 13:39:56 +00:00
Jarek Kobus
ec4fb84f8d LinuxDevice: Connect to QtcProcess::done() signal
Instead of connecting to errorOccurred() and finished() signals.

Change-Id: I939927b68e84b32455a914cef26200b4edcbcbb6
Reviewed-by: hjk <hjk@qt.io>
2022-04-14 13:12:52 +00:00
David Schulz
42fc527fec LSP: Simplify content parsing
JsonRpcMessageHandler::toJsonObject can be expensive for huge
json objects like the clangd ast responses for big c++ files. Avoid
calling this function in Request::responseHandler. We already generate a
JsonRpcMessage in JsonRpcMessageHandler::parseContent to get the id of
the response so pass this around.

While at it also pass around references instead of pointers to simplify
the memory handling of generated messages.

Change-Id: I9a3c7e85428fc064d1ea1197d897739725265192
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2022-04-14 12:59:49 +00:00
Jarek Kobus
bc30523293 ProcessInterface: Get rid of ProcessInterface::Ptr
Keep the setup data on stack instead on heap.

Task-number: QTCREATORBUG-27358
Change-Id: I0fffd525e2bd4f46533804e3b88fe5b330d02a91
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-04-14 12:41:01 +00:00
Jarek Kobus
bdbfa4ba0d CoreUnpacker: Connect to QtcProcess::done() signal
Instead of connecting to finished() signal.
Implement some error handling.
Fix reporting a stop, instead of start, on stop.

Change-Id: I6c528204416d8c5ba715875dd3bf5172007d9477
Reviewed-by: hjk <hjk@qt.io>
2022-04-14 12:39:28 +00:00
Jarek Kobus
3649176402 ClangToolRunner: Connect to QtcProcess::done() signal
Instead of connecting to errorOccurred() and finished() signals.

Change-Id: Ie15a25000a647d4046b59e9ebeb44c32bc29b53b
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-04-14 12:30:44 +00:00
Jarek Kobus
7fadaff5d4 IDevice: Make it possible to forward declare Ptr and ConstPtr
Most inclusions of idevice.h inside other headers are
required just because of IDevice::Ptr or IDevice::ConstPtr
was used there. Unfortunately, since these "using"
are defined inside a IDevice class, we just can't
forward declare IDevice::Ptr nor IDevice::ConstPtr.

Instead, create a separate header that defines
IDevicePtr and IDeviceConstPtr while having IDevice
forward declared. Redefine IDevice::Ptr/ConstPtr
inside IDevice to use IDevicePtr/IDeviceConstPtr.

Now, instead of forward declaring a IDevice::Ptr
it's sufficient to include the idevicefwd.h.

This drops the number of files being recompiled
after touching idevice.h from ~770 to ~210.

Change-Id: Ib6f2982aa0761fb4cd6593badb9c3c0c527ea535
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: hjk <hjk@qt.io>
2022-04-14 12:27:04 +00:00
Jarek Kobus
bfc0d5ec32 ProcessInterface: Get rid of ProcessProxyInterface
It doesn't seem to be useful anymore.
Add some comments to the ProcessInterface API.
Move virtual interface into the private section
in order to not to use it directly from implementation.

Task-number: QTCREATORBUG-27358
Change-Id: Idd9fd39cf153832e6e44e125fbbd5c8236a2d930
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-04-14 12:13:08 +00:00
Cristian Adam
795269e1ce Core: Support MSVC 2022 in about dialog
Change-Id: Ia51f7ae35839fc58bb0a7f76792fda6aea0b8c2f
Reviewed-by: David Schulz <david.schulz@qt.io>
2022-04-14 12:05:25 +00:00
Jarek Kobus
cb68862962 LocalPerfRecordWorker: Connect to QtcProcess::done() signal
Instead of connecting to errorOccurred() and finished() signals.

Change-Id: Ie90935f374f781bc60f54627fd5e5c272cd579e9
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-04-14 11:07:20 +00:00
Jarek Kobus
cd2fc99e35 PerfConfigWidget: Connect to QtcProcess::done() signal
Instead of connecting to errorOccurred() and finished() signals.

Change-Id: Ib83c0f94eafe401b458732217f8b34cffe7b2d05
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-04-14 11:07:13 +00:00
Jarek Kobus
876047d6cf GdbEngine: Connect to QtcProcess::done() signal
Instead of connecting to errorOccurred() and finished() signals.

Change-Id: Icf3e3d8cfdae3890cb4991da8b7d7e74e529ad39
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-04-14 11:06:54 +00:00
Christian Kandeler
b649f288ac ClangCodeModel: Another output argument highlighting fix
Change-Id: I2b784c32706a4eaa837cf999884656d62b253e3d
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-14 09:57:11 +00:00
Christian Kandeler
9146ce4625 ClangCodeModel: Fix another false positive
... in in output argument highlighting.

Fixes: QTCREATORBUG-27368
Change-Id: I7549fd5c69bfebd0eeda24760d3bf96f2e652c43
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-14 09:56:46 +00:00
hjk
a26f0ba808 Debugger: Avoid one use of RunControl::runConfiguration()
Change-Id: Iaf9fb0cee4544121a4df433c3726d98ae0175ff2
Reviewed-by: David Schulz <david.schulz@qt.io>
2022-04-14 09:25:46 +00:00
Thomas Hartmann
41daf979c5 QmlDesigner: Rename Generate QRC Resource File -> Generate Deployable Package
This is a simpler less technical name and we plan to introduce
the design viewer officially in the near future.

Change-Id: I1e9491000f6618f8f04fa307116cd865ec6b04be
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
2022-04-14 08:42:31 +00:00
Thomas Hartmann
ac0697780e QmlDesigner: Only allow goIntoComponent for existing ones
Skip the ones from Qt.

Change-Id: I4eae715b87948e8d47be8919d6b3356864fb0bd7
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Henning Gründl <henning.gruendl@qt.io>
2022-04-14 08:34:36 +00:00
Henning Gruendl
45ca3e030b QmlDesigner: Navigator search field re-design
Task-number: QDS-6576
Change-Id: I100c37a149eac6b383a11f47f4307afc685f088c
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-04-14 08:30:38 +00:00
Jarek Kobus
a4a651aa32 QtcProcess: Fix StartFailed result
Amends 4ca336762e

Change-Id: I3781bec37b17ea3f86eedc51657db0931a456c39
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-04-14 07:55:22 +00:00
hjk
06e3199e03 TextEditor: Compile fix with current Qt dev
Most likely some .pch / NO_CAST_FROM_ASCII problem somewhere, but I got

  src/plugins/texteditor/storagesettings.cpp: In member function ‘QVariantMap TextEditor::StorageSettings::toMap() const’:
  src/plugins/texteditor/storagesettings.cpp:76:5: error: use of deleted function ‘QVariant::QVariant(T) [with T = char*; typename std::enable_if<disjunction_v<std::is_pointer<_Tp>, std::is_member_pointer<_Tp> >, bool>::type <anonymous> = false]’
   76 |

and the char * conversion seems wrong in any case.

Cherry-picked from: 6db23acc1f

Change-Id: Iac5df53547dc61b65b0d8c4087ca1f6366664b2f
Reviewed-by: David Schulz <david.schulz@qt.io>
2022-04-14 07:36:13 +00:00
Jarek Kobus
35b654f69b AndroidAvdManager: Connect to QtcProcess::done() signal
Instead of connecting to finished() signal.
Simplify implementation a bit.

Change-Id: Icf000ab0a5b06e14e301daed33f7b0109315d9a5
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2022-04-14 07:09:44 +00:00
Jarek Kobus
5cf8c9fec3 AndroidSignalOperation: Connect to QtcProcess::done() signal
Instead of connecting to finished() signal.
Get rid of some code repetition.

Change-Id: I50d2ba0e4607c853dbc9a0baae5b9ba2bdf41e2c
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-04-14 05:56:34 +00:00
Jarek Kobus
7c8b5648fe ProcessInterface: Add sendControlSignal() method
It substitutes terminate, kill, interrupt and kickoffProcess
methods.

Task-number: QTCREATORBUG-27358
Change-Id: I9e952c2f4c1a7e76339366566f2c804a3df30347
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-04-13 14:39:33 +00:00
Jarek Kobus
25be242c6f ProcessInterface: Get rid of close() method
Implement it in general way inside QtcProcess instead.

Task-number: QTCREATORBUG-27358
Change-Id: Ibc4c9753c57cd73afcccb2991282ee459dc69780
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-04-13 14:39:25 +00:00
Jarek Kobus
267aa92a8a ProcessInterface: Pass processId with started() signal
Pass also applicationMainThreadId optionally (Windows only).
Remove two virtual accessors.

Task-number: QTCREATORBUG-27358
Change-Id: I3b12b642cc3c109653276c0fbf65e7f614ce6b56
Reviewed-by: David Schulz <david.schulz@qt.io>
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-04-13 14:39:18 +00:00
Marco Bubke
4bd71ebf6a QmlDesigner: Fix poor snapshot quality
It removes the image cache in the AssetsLibraryView too because it is not
used. Fix ODR violation too.

Fixes: QDS-6553
Change-Id: I83d8f8b7cd385e2c8352986e4b5a5abd76ac7d5b
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-04-13 14:16:20 +00:00
hjk
75a265d67b WebAssembly: Avoid use of RunControl::runConfiguration
Change-Id: I598a41ac55c595437b162582c07fd1e940202272
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2022-04-13 13:53:22 +00:00
Marcus Tillmanns
cf81ff2a29 texteditor: Add Select Next Match function
Adds an Action to select the next occurrence(s) of the currently selected text.

Change-Id: I37e23a3c2d1651ec4898fac53d75044d92ed7079
Reviewed-by: David Schulz <david.schulz@qt.io>
2022-04-13 12:58:09 +00:00
Christian Stenger
70dde948ed McuSupport: Fix tests
Change-Id: Ia40a8aa6af12c93087a20ce2b2000cccd8fd6e0c
Reviewed-by: Piotr Mućko <piotr.mucko@qt.io>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2022-04-13 11:27:44 +00:00
Alesandro Portale
b54bf8ad86 Debugger: Fix start of Android lldb from NDK 23.x on Linux
In order to help lldb locate libpython3.9.so, we need to point
LD_LIBRARY_PATH to the right lib/ path inside the NDK.

Fixes: QTCREATORBUG-27297
Change-Id: I4c234fabf291dfb5f5240120541897a79cb6933a
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-04-13 11:18:15 +00:00
Christian Kandeler
260095c924 ClangCodeModel: Fix another false positive
... in output argument highlighting.
If there is not enough information for clang to determine the const-ness
of the argument passing (as it can happen in templates), do not report
an output argument.

Change-Id: I8d0143042f02ac44d8d971398014828cff14697f
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-13 10:25:01 +00:00
hjk
d403b380f8 Another compile fix with current Qt dev
Add some #include <QList> that were implicit before.

Change-Id: I9e64a6cc7548141e690568913fa75f80d5f3f464
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2022-04-13 10:04:44 +00:00
Christian Kandeler
759527ff7f ProjectExplorer: Add output parser for AddressSanitizer messages
Change-Id: I9107a4f23998ed95f374c7d61c9ee1e6e6e2d437
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: hjk <hjk@qt.io>
2022-04-13 09:58:21 +00:00
Christian Kandeler
53d6aea404 ClangCodeModel: Fix another false positive
... in output argument highlighting.

Fixes: QTCREATORBUG-27367
Change-Id: I80fc7628d62de18f9114290b8104a7a1e9a95c4b
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-13 08:43:22 +00:00
Thomas Hartmann
803f299967 StudioPlugin: Revamp splash screen
* "Learn More" links to Qt Privacy policy webpage
* Size changed
* Design adjusted
* The user now can choose between sending data and not sending data
* The screen closes after the user chooses one of the options using
  a button.

Task-number: QDS-6617
Change-Id: I8729f1bb6f9e7b74c6da8f1d62a4fc04456175c8
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2022-04-13 08:23:20 +00:00
David Schulz
c21fb22da8 LanguageClient: remove unused code
Change-Id: I42413835d93b0ea43430d2a6022e99d88620f0cd
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2022-04-13 07:12:42 +00:00
Cristian Adam
6d681cc5ad CMakePM: Remove unnecessary settings header stretch() calls
These calls would make interactive changes useless and the fake hide
event would remove the interactive flag which would prevent the user
from doing any changes.

Fixes: QTCREATORBUG-27257
Change-Id: I80a53d8955ac2329c726989954f1d910e93b3501
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2022-04-12 16:21:00 +00:00
Marcus Tillmanns
2c4553366c docker: Correctly initialize Kit during autodetection
* Added returning the Id after detecting CMake so it can be set in the autodetected kit
* Trying to keep autodetect from adding the same Qt installation twice if qmake is linked in /bin and /usr/bin
* Added FIXME for RunControlPrivate::runConfiguration as it is used after free in rare cases
* Fixed IosCompilerDetector to not just run if a device is set
* Fixed QnxCompilerDetector to not just run if a device is set
* Fixed auto-detected debuggers not being set as auto-detected, as they now can be removed from the device screen

Change-Id: Ia7772c454d70e147e4326efacc4a6a888fa26782
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-04-12 14:15:45 +00:00