Commit Graph

62421 Commits

Author SHA1 Message Date
Miikka Heikkinen
ae30e3073c QmlDesigner: Do not assume QmlBuildSystem is current build system
It's possible to open qml files for visual editing from qmake/cmake
based projects as well.

Fixes: QDS-6836
Change-Id: I15840dbe0f67711b162f7f7f492f7ab813ea7fca
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2022-05-04 09:11:06 +00:00
Jarek Kobus
d79b34d39a QdbMakeDefaultAppService: Don't use SshRemoteProcessRunner
Use QtcProcess with a path on device instead.

Change-Id: I4ce6d5d1cf42a678de8cc9695c7db782a81b34f9
Reviewed-by: hjk <hjk@qt.io>
2022-05-04 08:37:06 +00:00
Jarek Kobus
0eea55926f ApplicationLauncher: Get rid of m_useTerminal field
Change-Id: Iab77cf695c1d21cf0e89a230f76ad129757ffb5b
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-05-04 08:36:45 +00:00
Jarek Kobus
272fbe82d0 ApplicationLauncher: Get rid of m_processChannelMode field
Use QtcProcess::processChannelMode() getter instead.

Change-Id: I9e66f6e5ec8dd90d55f843328f02032351c802ac
Reviewed-by: hjk <hjk@qt.io>
2022-05-04 08:36:34 +00:00
Jarek Kobus
85cb7d2b71 Get rid of IDevice::createProcess()
And most of QtcProcess subclasses.

Change-Id: Ic891defbf49736442243f9ee0f9d28d140e0ba9d
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-05-04 08:28:15 +00:00
Jarek Kobus
a6940abc29 Implement QdbProcessInterface
It's going to replace QdbDeviceProcess.

Change-Id: I88d7dc110b71986462894f10ecb18632dcf02669
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-05-04 08:28:02 +00:00
Jarek Kobus
340b61889d SshProcessInterface: Remove pidArgumentForKill()
This interface method wasn't really sensible.

Change-Id: Ia47c893886ec06a2263b96d161578d46d2df5ffa
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-05-04 08:27:26 +00:00
Artem Sokolovskii
54628488a4 CorePlugin: Remove foreach / Q_FOREACH usage
Task-number: QTCREATORBUG-27464
Change-Id: I0d0257bbd46f3eec9b11b386d1987156e83a9dac
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2022-05-04 07:42:45 +00:00
David Schulz
71b84417b3 LanguageClient: allow generating specialized extra selections
for LanguageClient Diagnostics

Change-Id: Ib7226aaaa420d4c7531b9c534ab193d1b22b467d
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2022-05-04 07:35:53 +00:00
Jarek Kobus
910dd04bf7 GenericLinuxDeviceTester: Don't use SshRemoteProcess for uname
Use QtcProcess with a path on device instead.

Change-Id: If38731f0648412874ebb1319ec53627f65f69108
Reviewed-by: hjk <hjk@qt.io>
2022-05-03 19:32:59 +00:00
Jarek Kobus
9402841d99 QtcProcess: Fix runBlocking() on remote
There is no need for special handling when running on remote.

Change-Id: If30245d2ece475cb72df2be4390210d6b8c0c1aa
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-05-03 19:31:50 +00:00
Cristian Adam
19f5b835de CMake: Ensure qtcreatorcdbext is a shared library for all cases
qtcreatorcdbext.dll is being loaded by cdb.exe and needs to be a
shared library always.

Change-Id: I13582f295744d350907284ea02e08ce1e8055dbe
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-03 14:56:02 +00:00
Jarek Kobus
8e931838ef Get rid of SshConnectionInfo
It's not used anymore.

Change-Id: Ie77c9d9bc8eb82c1f74cfdac2304bc6c2f92ee93
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-05-03 14:38:23 +00:00
Jarek Kobus
de4f71b2cf MemcheckTool: Don't use SshConnection::connectionInfo()
Use QtcProcess with a path on device instead. Invoke directly
echo -n $SSH_CLIENT command and parse the output locally.

That was the only usage of SshConnection::connectionInfo()
in the whole Creator codebase.

Change-Id: I23a548e8dcfdff370d5db4c7ef10a560d5adc57e
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-05-03 14:34:36 +00:00
Jarek Kobus
23cc03b470 GenericDirectUploadService: Don't use SshRemoteProcess
Use QtcProcess with a path on device instead.

Change-Id: I61c6b2cf042a223a037109b56418dbf76dbad161
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-05-03 14:34:19 +00:00
Jarek Kobus
ece39c7c2f QtcProcess: Use generic waitFor...()
Task-number: QTCREATORBUG-27430
Change-Id: I34ecc8a5937204875c235eee285c32d9cb0a0a86
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2022-05-03 14:32:41 +00:00
Jarek Kobus
221414c5e8 QtcProcess: Implement waitFor...() in general way
Task-number: QTCREATORBUG-27430
Change-Id: I34aff44258d2c7cabae0b63fe4e9ec55aa7b3b7d
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: hjk <hjk@qt.io>
2022-05-03 14:32:29 +00:00
Cristian Adam
15611ee822 CMake: Fix static build with a reduce number of plugins
This changeset allows building Qt Creator statically with a reduced number
of plugins, especially without QmlDesigner.

Change-Id: I0050c72d3959fe43edae60bd47ecab9c0ee544b3
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2022-05-03 09:43:12 +00:00
Artem Sokolovskii
27fddc8dc7 Debugger: Remove foreach / Q_FOREACH usage
Task-number: QTCREATORBUG-27464
Change-Id: Ib49afb4d0283aeeffead6b31e1a3d0bcb9a7ae14
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: hjk <hjk@qt.io>
2022-05-03 09:32:04 +00:00
David Schulz
fbefd45b94 Python: add pyside build configuration
Task-number: QTCREATORBUG-27219
Change-Id: I19340c57789933c7104ec5d6fec628ed810c5f3e
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2022-05-03 08:55:11 +00:00
Christian Kandeler
c97f0af531 ClangCodeModel: Don't ignore changes to clangd doc update threshold
Changing the document update threshold value had no effect in the per-
project settings.

Change-Id: Ibd6e47bba3e0a77ed18b97486eda17718c46c59d
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-05-03 08:49:59 +00:00
Jarek Kobus
b0afd728d1 QnxDevice: Don't use SshDeviceProcess
Use QtcProcess with a path on qnx device instead.
Fix QtcProcess::runBlocking() for remotes.

Change-Id: Ic9364037835b247479f4b4329e40a314e09d5492
Reviewed-by: Rafael Roquetto <rafael.roquetto@qt.io>
2022-05-03 08:45:48 +00:00
Jarek Kobus
2d3c3dc2b5 Slog2InfoRunner: Don't use QnxDeviceProcess
Use QtcProcess with a path on qnx device instead.

Change-Id: I5dcf0f2180b40031c6f0f88b44ee2ad100ba7b5d
Reviewed-by: Rafael Roquetto <rafael.roquetto@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-05-03 08:45:35 +00:00
Marcus Tillmanns
c8024046f9 Docker: implement process interface
Change-Id: I57dd9e060ee35280b663611ebb5ddef20b7d0eb7
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
2022-05-03 08:26:13 +00:00
Eike Ziller
1b5b4cb6f4 Mimetypes v3: Fix that octet-stream was wrongly considered parent
The fallback mimetype of application/octet-stream is supposed to only be
a fallback if the mimetype doesn't specify another parent.

Amends 98b1e82d2b

Fixes: QTCREATORBUG-27398
Change-Id: I4ac92dd4817fae37de4499fe9e08aa2e5dd50a51
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
2022-05-03 07:28:29 +00:00
Jarek Kobus
1a3cb067b8 SshProcessInterface: Give a parent to subobject
This is needed when moving ProcessInterface beweeen threads.

Change-Id: I26158c68bdc8e77ecb3e3d4535ba767ef3d0b63c
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2022-05-03 06:59:36 +00:00
Sergey Morozov
11544df48b Cppcheck: Escape error message format string
Some shells try to expand {} otherwise.

Fixes: QTCREATORBUG-27284
Change-Id: Ifd2bd7bc58f005339eebd150b98ced59395d24bc
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2022-05-02 18:53:55 +00:00
Jarek Kobus
cc2146f591 Compile fix
Amends 176dbff127

Change-Id: I86fb87b9dc1848124f7f04995407ba78e4040b15
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
2022-05-02 14:41:20 +00:00
The Qt Project
22b70edda2 Merge "Merge remote-tracking branch 'origin/7.0'" 2022-05-02 13:12:14 +00:00
hjk
ac488e0529 CMake: Pass BuildSystem instead of BuildConfig to BuildDirParams
Less indirections.

Change-Id: I33ae36aa32aa8fab7223822fd9ec80c64d6d4651
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2022-05-02 13:10:33 +00:00
Jarek Kobus
778ed83149 ApplicationLauncher: 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: I9f6896260a3f5627975331caa31382f4dc6ff7b0
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-05-02 13:09:31 +00:00
Eike Ziller
1b7295514c Merge remote-tracking branch 'origin/7.0'
Conflicts:
	cmake/QtCreatorIDEBranding.cmake
	qbs/modules/qtc/qtc.qbs
	qtcreator_ide_branding.pri
	src/plugins/languageclient/languageclientoutline.cpp

Change-Id: I106fbde6467818368a8358d612d793313cad27e6
2022-05-02 15:06:08 +02:00
Jarek Kobus
aba39aee5f QbsSession: Remove state() from public API
This was used internally only.

Change-Id: I2678d3084ec941b78aa165a94e3d7ba4d3c6a2b7
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2022-05-02 13:02:24 +00:00
Jarek Kobus
b21ed19903 QbsSession: Simplify the logic
QbsSession::quit() is called only from QbsSession d'tor.
Move this method into private section.

Since QbsSession::quit() body was the only place in code where
we potentially set the m_state into State::ShuttingDown, there is no
need to check whether the m_state is set to State::ShuttingDown,
as that's impossible, since quit() can only be called once
during the lifetime of QbsSession.

Replace a call to quit() in d'tor with quit() body.

Since the ShuttingDown state was set only in d'tor, after
disconnecting from qbsProcess signals, it's not possible that
any signal handler would be called when being in ShuttingDown state.
That's why the SettingDown state is removed in this patch as
being no-op.

Change-Id: Iff77f4119d7122a9723de4a5cd0bb98f4dce8506
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2022-05-02 13:02:13 +00:00
David Schulz
7826012443 clangd: update current document filter after initialize
This makes sure that the lsp filter gets enabled if a document is opened
before the corresponding clangd server was initialized. This happens
when loading a session with an open document.

Change-Id: I7987ea60c6fca8b5c070af3a7bcd5325667ed0c5
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2022-05-02 12:23:12 +00:00
Christian Kandeler
b09e2b77c4 ClangCodeModel: Remove backend communication facilities
Change-Id: I3d10b33cb641a49e8b79272d754fbeece23fb249
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: David Schulz <david.schulz@qt.io>
2022-05-02 11:29:05 +00:00
Christian Kandeler
4ab0edb4b5 ClangCodeModel: Remove ClangEditorDocumentParser
Not needed (anymore?).

Change-Id: Id4bcbb47962d92f6fffb4538dcca14b49e8104db
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-05-02 11:28:50 +00:00
hjk
557957a59f Core: Remove compatibility code path for 4.13 settings
Change-Id: If4449a0de502ad2791befb117c8b3a9c95c2d2d5
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2022-05-02 11:28:47 +00:00
Jarek Kobus
bd6e75c171 PdbEngine: Connect to QtcProcess::done() signal
Instead of connecting to errorOccurred() and finished() signals.

Change-Id: I9fff11875a680240e63db1663299680f885dbdfc
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: hjk <hjk@qt.io>
2022-05-02 11:17:42 +00:00
Christian Kandeler
356b43e9aa ClangCodeModel: Stop communicating with clangbackend
Change-Id: I9a5f4e7f0f94d33de9816cb643e6ec88cbf9ca15
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-05-02 10:36:58 +00:00
Christian Kandeler
6da7babc4a ClangCodeModel: Remove libclang-based completion and function hints
Change-Id: I742fb14b1aba3ba1f35a5c80bf553d2a735cac48
Reviewed-by: David Schulz <david.schulz@qt.io>
2022-05-02 10:31:05 +00:00
Eike Ziller
f8a04666d5 Editors: Fix that actions were applied to wrong editor
We delayed switching the "current editor" by the double-click interval
to fix opening editors in extra editor windows from the project tree
etc. This leads to the weird effect that after switching the focus
between editors even within the same window was only applied after a
delay.

Instead just delay setting the current editor by "two events". When
clicking into a window, Qt sets the focus in two phases.

1. First the focus ends up in the focusWidget() in the new window, which
possibly is the editor that was active before in _that_ window
2. Only during the next event processing does Qt set the focus to the widget
that the user clicked into, which could be a non-editor widget, like the
Projects tree

We may only change the current editor if the focus didn't move away from
any editor in (2). So we need to delay setting the current editor until
after the next event processing.

Amends 22c67db406

Fixes: QTCREATORBUG-27479
Change-Id: I3d9197176a2d7ce50e5f29a1ce1b2efef52232d0
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: David Schulz <david.schulz@qt.io>
2022-05-02 09:47:38 +00:00
Artem Sokolovskii
efd25fb43f Utils: Remove foreach / Q_FOREACH usage
Task-number: QTCREATORBUG-27464
Change-Id: Ic72d173d95376276df8d1f08abdaec8370aff2ba
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-05-02 08:54:36 +00:00
Eike Ziller
5dcfe401a3 ExtensionSystem: Add support for static plugins
Loads all plugins that are known via Q_IMPORT_PLUGIN()

Change-Id: I3c1fe223ce6e4dcdb7729f5ab3e782e78bca5afc
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2022-05-02 08:48:57 +00:00
Thomas Hartmann
c3d04642e1 QmlDesigner: Properly parse variant type
If a property actually is a variant we have to properly parse
the string and convert it to the correct type.
Booleans and numbers were not probably converted.
This did not create many issues, since the conversion happened
later, but it broke copy and paste and merging.
In Qt 5 this conversion seemed to happen mostly automatically.

Boolean literals have to be handled explcitly, since e.g. "10"
is technically true and can be interpreted as boolean.

Task-numbner: QDS-5944
Change-Id: I35c7cae7041667c7eac81e36a285a394263b35a4
Reviewed-by: Vikas Pachdha <vikas.pachdha@qt.io>
2022-05-02 08:35:30 +00:00
hjk
b425273ea8 Pass BuildConfiguration to Qml related build aspects constructors
Less weird then before.

Change-Id: Ia36663721085132e6a2876783749d96d9a3983a3
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2022-05-02 08:27:28 +00:00
hjk
a579fa52ee ProjectExplorer: Rename some RunControl functions
Change-Id: Ia86a50100ddfd465d548863ae8d58033a5dbafc0
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2022-05-02 08:10:28 +00:00
Christian Kandeler
b86c0a13e6 ClangCodeModel: Remove libclang-based references support
Change-Id: I53d10c37eac1ec5a46b904a2e2eb959311f852fa
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-05-02 07:52:43 +00:00
Christian Kandeler
998a8d7369 ClangCodeModel: Remove some dead code
Left over from recent libclang removals.

Change-Id: I24eff39615d9e2701bc42dccc5f096a89b7fa783
Reviewed-by: David Schulz <david.schulz@qt.io>
2022-05-02 07:52:12 +00:00
Christian Kandeler
b52fac7148 ClangCodeModel: Remove libclang-based diagnostics and highlighting
Change-Id: Ib7c423884b76c27a6350ddea611919d3352fb80e
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: David Schulz <david.schulz@qt.io>
2022-05-02 07:51:51 +00:00