Commit Graph

72385 Commits

Author SHA1 Message Date
The Qt Project
a65f2ac27b Merge "Merge remote-tracking branch 'origin/7.0'" 2022-02-16 10:19:15 +00:00
Eike Ziller
49ecd64b9c Merge remote-tracking branch 'origin/7.0'
Conflicts:
	cmake/QtCreatorIDEBranding.cmake
	qbs/modules/qtc/qtc.qbs
	qtcreator_ide_branding.pri
	src/plugins/docker/dockerdevice.cpp
	src/plugins/mcusupport/mcupackage.cpp
	src/plugins/mcusupport/mcupackage.h
	src/plugins/mcusupport/mcusupportoptions.cpp
	src/plugins/mcusupport/mcusupportoptions.h
	src/plugins/mcusupport/mcusupportoptionspage.cpp
	src/plugins/mcusupport/mcusupportsdk.cpp
	src/plugins/mcusupport/mcusupportsdk.h

Change-Id: I8c8f5953a21729ba9178dbc44ed613eed131a0c8
2022-02-16 10:59:04 +01:00
Jarek Kobus
86017efdd4 QtcProcess: Recreate process interface on every start
Since the input data may have changed in meantime.
Ensure we are not running when restarting the process.

Change-Id: I79a515b3c0526a6315027433fd821698fb2c6e94
Reviewed-by: hjk <hjk@qt.io>
2022-02-16 09:55:56 +00:00
Jarek Kobus
82c2450fbe Reuse ProcessSetupData in CallerHandle
Change-Id: I4a2d3fef15331343e7763149550280b722fc3781
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: hjk <hjk@qt.io>
2022-02-16 09:30:01 +00:00
Piotr Mućko
7fedb56c65 McuSupport: make package status enum class
Change-Id: I6d52e8e25e9934683371246ba05612f4f17450c1
Reviewed-by: Christiaan Janssen <christiaan.janssen@qt.io>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-02-16 09:20:31 +00:00
Jarek Kobus
aa3166df78 ProcessInterface: Simplify start() API
Get rid of program and arguments parameters from
start() method. Get rid of customStart() and isCustomStart()
methods. Provide a default implementation for start() method.
Introduce virtual doDefaultStart() method, to be called when
default implementation for start() is used() - it's being
triggered by a call to defaultStart(). When some implemetation
provides the custom implemetation of start() method
(e.g. TerminalImpl), the doDefaultStart() may stay unimplemented
(won't be called).

Rename WrongFileNameFailure to WrongCommandFailure, as that's
being used also in case when command arguments parsing failed.

Cleanup some unimplemented or unused fields of ProcessLauncherImpl.

Change-Id: I87661e9838dc30888034b2fa62d47c861bf8f9dd
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: hjk <hjk@qt.io>
2022-02-16 09:20:08 +00:00
Jarek Kobus
d06449d1a5 ProcessInterface: Remove setEnvironment()
Use environment from ProcessSetupData instead.

Change-Id: I8f0436b8ce024ca5ce39ae2cd842b4d195f2c54d
Reviewed-by: hjk <hjk@qt.io>
2022-02-16 09:14:30 +00:00
Jarek Kobus
d520d457c1 ProcessInterface: Simplify customStart() method
Change-Id: I8940ca016076e42a73774a18a24b6b5ce2cb81ad
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: hjk <hjk@qt.io>
2022-02-16 09:09:31 +00:00
Jarek Kobus
5c3a08bc4b ProcessInterface: Simplify start() method
Don't pass writeData, as that's available through
ProcessSetupData.

Change-Id: Ic55b21c6a3338168ee251bcc1c57594f50c52d2f
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: hjk <hjk@qt.io>
2022-02-16 09:09:24 +00:00
Jarek Kobus
c49ce24a92 ProcessInterface: Make a copy of ProcessSetupData
Don't share the same instance of data with the QtcProcess
itself, as some of the fields needs to be modified just
for the starting purposes. In this way we avoid cyclic
modifications of the original data on subsequent runs.

Change-Id: I937978ee92f848d247025939ac5b0c6c60c29ff7
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: hjk <hjk@qt.io>
2022-02-16 08:22:23 +00:00
Eike Ziller
041e8d178f Linux: (Optionally) Enforce XCB backend if QT_QPA_PLATFORM is not set
Especially on older distributions, Qt/Wayland works worse than Qt/
XCB(XWayland). On Ubuntu 20.04, starting Qt Creator with Wayland can
even crash the Wayland session
(https://bugs.launchpad.net/ubuntu/+source/mutter/+bug/1958684/).

We still want to ship the plugins, and allow forcing the usage of
Wayland, since on the other hand Wayland works better in HiDPI
environments for newer distributions.

Behavior is enabled when configuring with  -DQTC_FORCE_XCB=ON

Task-number: QTCREATORBUG-26867
Change-Id: I623f001412f809381208b6cb3ec5b3fcfdb86011
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Robert Löhning <robert.loehning@qt.io>
2022-02-16 07:50:48 +00:00
Alessandro Portale
aef1954bcf Tracing: Fix flame graph combobox
By using another style.

Also icrease the combobox width from the implicit 120px to 260px,
because the new style needs more space, and would cut off text. When we
drop Qt 5 support, we can use implicitContentWidthPolicy for that.

Fixes: QTCREATORBUG-27041
Change-Id: I438f64083c10f192125e0414640ad0b7eef2970c
Reviewed-by: Robert Löhning <robert.loehning@qt.io>
2022-02-15 20:51:07 +00:00
Thomas Hartmann
3dce9690d7 StudioWelcome: Settings for hiding/showing menu entries
Change-Id: I08bc299e9ce32bde2976dcd901babf91a9a1598c
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Henning Gründl <henning.gruendl@qt.io>
2022-02-15 19:57:07 +00:00
Jarek Kobus
790c1346d9 Implement newly added methods
Amends 6942c58d65

Change-Id: I115fda8495e6175cb805191d6c2fc83056dcab10
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
2022-02-15 15:41:59 +00:00
Miikka Heikkinen
358b21ce9c QmlDesigner: Fix on-drag binding of created nodes to properties
Generic matching for dragged item to bindable properties didn't work
properly, missing appropriate matches. Now supported cases are
hardcoded with the expectation that in the future this will be handled
via metainfo hints.

Also fixed related issues with dragging images and shaders into
navigator.

Fixes: QDS-6198
Change-Id: Ide9360ef037997cbb388f4c2db35b79eded67aa6
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2022-02-15 15:22:52 +00:00
hjk
6942c58d65 ProjectExplorer: Use simpler signature for ApplicationLauncher::processExited()
And rename it to finished().

Maps better to what QtcProcess uses.

Change-Id: Ibfa018549f436b27638a791c0b4937c4459c9452
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
2022-02-15 15:07:52 +00:00
Jarek Kobus
ccb42b3c74 ProcessInterface: Remove setWorkingDirectory()
It's a part of passed ProcessSetupData.

Change-Id: I125d31cb1b316c1802d1d9d7fb5e1c5b3a3b8c18
Reviewed-by: hjk <hjk@qt.io>
2022-02-15 14:55:46 +00:00
Jarek Kobus
5c1dc2fd5e Move more internal data into ProcessSetupData
It's going to be reused in other parts of implementation.

Change-Id: I4721bba28537d3f00c20c0f3c8e5ca633dc8727e
Reviewed-by: hjk <hjk@qt.io>
2022-02-15 14:54:42 +00:00
hjk
c655bac6fa ProjectExplorer: Consolidate ApplicationLauncher
Both local and remote runs now use QtcProcess or a derived class.

Change-Id: Idd0645a5645ab91a6d49b9839d021c6757296d00
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-02-15 14:52:45 +00:00
Miikka Heikkinen
6173b78860 QmlDesigner: Allow going into component from item library
Added "Go into Component" to item library context menu for items that
have customComponentSource available. Doubleclicking on the item also
does the same.

Fixes: QDS-5786
Change-Id: I954bfb4864d74fa04b5da5b961f9aa2035132022
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
Reviewed-by: Samuel Ghinet <samuel.ghinet@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-02-15 14:43:47 +00:00
Thomas Hartmann
b0589fb8fe Add options to hide and configure main window
These options allow to hide certain main menus
and move options to edit.

This allows hiding those menus in the Qt Design Studio context.
The options are separated so that power users can enable
Debug, Analyze and Tools.

HideBuild=true
HideDebug=true
HideAnalyze=true

Change-Id: I26758aaa965bb7b61a476d197d82db34e62003b7
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2022-02-15 14:37:29 +00:00
Henning Gruendl
7dc82dace6 QmlDesigner: Add guard pointers to connect
Task-number: QDS-6239
Change-Id: I08a21a8c431046b846d0b41265d8665e93afa0a9
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2022-02-15 14:25:57 +00:00
Eike Ziller
45c018f560 macOS: Disable ApplePressAndHold
That feature allows entering special characters by holding a key, e.g.
holding the 'l' key opens a popup that allows entering 'ł'. Since that
disables key repeat, we don't want it, though.

Fixes: QTCREATORBUG-26925
Change-Id: I5638337447778b0c873c68195307b92133882e69
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2022-02-15 13:59:36 +00:00
Christian Kandeler
dad534005e ClangCodeModel: Do not set C_ENUMERATION for enum declarations
... when highlighting with clangd.
This value is only meant for enum values, not types.

Task-number: QTCREATORBUG-27059
Change-Id: I7bb68f5deb6bb215ee3c23d995207019850a7bfc
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: David Schulz <david.schulz@qt.io>
2022-02-15 13:58:51 +00:00
Christian Kandeler
6414f22be7 ClangCodeModel: Fix highlighting of literals with clangd
Some literals are keywords.

Task-number: QTCREATORBUG-27059
Change-Id: I6315bfd4e4179990e55bc046084fdf0a4e3f9e8e
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: David Schulz <david.schulz@qt.io>
2022-02-15 13:58:36 +00:00
Christian Kandeler
a189a74dea ClangCodeModel: Fix erroneous highlighting with clangd
In certain cases, members being initialized were highlighted as output
parameters.

Task-number: QTCREATORBUG-27059
Change-Id: I0de8aee5e4db735251a314b14af04459e6ac772c
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-02-15 13:58:17 +00:00
Piotr Mućko
b1f35bf905 McuSupport: Extract target description to separate file
Change-Id: Ia79d64b5b5a752bdacb404b49e8ac78c2d32ee4e
Reviewed-by: hjk <hjk@qt.io>
2022-02-15 13:53:28 +00:00
hjk
47957de2dc ProjectExplorer: Split ApplicationLauncher::start() parameters
There's traditionally an odd duplication of the runnable.device
and the passed device here. Start disentangling things.

Change-Id: I1cc1628c99cea04d761fc4d8dd0cb232127ce055
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-02-15 13:43:09 +00:00
David Schulz
dc268e3157 LanguageClient: log exit notification
Add a private function that logs and sends a basemessage without
checking the current server state and use it for server init,
sendContent and exit.

Change-Id: I6532dfb36ef5bf4d036bb71dbfab4ab29497fc9a
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2022-02-15 13:37:52 +00:00
Christian Stenger
13ed522d8d McuSupport: Fix compile
Change-Id: I786fabddbef6dcbf5b9e4c6181cc96cca0e63c4b
Reviewed-by: hjk <hjk@qt.io>
2022-02-15 12:53:54 +00:00
Antti Määttä
3905239cea Add Quick 3D events to profiler documentation
Task-number: QTBUG-100643
Change-Id: I8e3096892742b647d3aadabfc61e0eab966f11ea
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
2022-02-15 12:47:08 +00:00
hjk
91fcec3d79 Docker: Remove unused DOCKER_RUNFLAGS
Change-Id: I42ba6ca949d7397be73b2ede6d9380f6f93e7434
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2022-02-15 12:21:12 +00:00
Piotr Mućko
27cadc86ba McuSupport: plugin code formatting
Change-Id: I561bd66431ff3da7819bb9b2ff780197b5593708
Reviewed-by: hjk <hjk@qt.io>
2022-02-15 11:50:33 +00:00
Piotr Mućko
9917166b2e McuSupport: basic test & required refactoring
Introduced Package interface for mocking purposes.
Made some functions visible in headers for testing.
Added basic test skeleton for mcu plugin.

run cmd: `qtcreator -test McuSupport`

Change-Id: I1011d49052bd8c894da393d8a285b241682f1f94
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2022-02-15 11:03:30 +00:00
Christian Kandeler
03340f1fdf ClangCodeModel: Fix flaky clangd test
Signals emitted for the fallback client got in the way.

Change-Id: I29a7fe5221a1f489eff91c772f9a6bb0fff7c4f1
Reviewed-by: David Schulz <david.schulz@qt.io>
2022-02-15 10:39:03 +00:00
Eike Ziller
e5f5984430 Update qlitehtml to latest master
Change-Id: I84def8f3272f6e393f35119c722897447d6da23f
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2022-02-15 10:33:01 +00:00
Jarek Kobus
5a32e9942d Don't use terminal mode in SshDeviceProcess by default
Amends e2cb64471a

Change-Id: I61d49a9b738ff07ce5f632f6411dd49fc84b9f6a
Reviewed-by: hjk <hjk@qt.io>
2022-02-15 09:58:15 +00:00
hjk
c87a066087 Docker: Fix endless ping-pong between runnProcess and start
Amends 95c9579c58.

Change-Id: Icee747a578e000a0477dc314500687316f4ecd6b
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
2022-02-15 09:31:57 +00:00
Jarek Kobus
7a45f7f01f Make SshSettings thread safe
Change-Id: Iac07ee51574c348a22c6a966eb2113c53402b88d
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Artem Sokolovskii <artem.sokolovskii@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2022-02-15 09:17:08 +00:00
hjk
f7a585fad9 FileUtils: Add some helper to handle ls-style output
Unix-ish device implementations would otherwise repeat that code.

Change-Id: I1265fe1a69e55409ab2875d0b6f6113ec92edd79
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2022-02-15 08:57:19 +00:00
hjk
4fb3eb8fd5 Debugger: Add test for QNX 7.1 gdb version string
Task-number: QTCREATORBUG-27053
Change-Id: I09447abfbe57968e5f5302be6b23cb950c4d0ea7
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2022-02-15 08:56:48 +00:00
Christian Kandeler
d465dd9f3b ProjectExplorer: Linkify main diagnostic location in MSVC output parser
Task-number: QTCREATORBUG-27056
Change-Id: Ide66fd1ee9c8312653146cfa4a17ec6f662a7949
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: David Schulz <david.schulz@qt.io>
2022-02-15 08:53:45 +00:00
Björn Schäpers
48ce753a05 Debugger: Fix Segmentation Fault on Windows
This amends 035b8aa5f7. shutdown() is
called from GdbEngine and from OutputColloector's Dtor. Thus there is a
change we access m_socket, after it is nullified.

Change-Id: I7d26ded70d0b148d83eb551edaf9b82850db197e
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: hjk <hjk@qt.io>
2022-02-15 08:28:07 +00:00
Christian Stenger
1652be1310 Tests: Provide some cmake files for manual tests
Add another option to mark a test as manual and use this for some
existing.
Manual tests will not be added as a ctest, but they can still get
executed explicitly.
Beside this allow to use a condition when using add_qtc_test().

Change-Id: I03d5397db36c0a2c9ee506a4214ed68fae6ad6e7
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-02-15 08:21:40 +00:00
Mahmoud Badri
42f260747e QmlDesigner: Update expand state upon renaming
Upon renaming an asset folder, update the expand state so that the
renamed folder receives the correct expand state.

Task-number: QDS-6200
Change-Id: I9868cb3e342a8a8488ed0b5a62735bc8af468dfe
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2022-02-14 17:13:30 +00:00
Mahmoud Badri
d1fd23100a QmlDesigner: Fix assets library warning case
Fixed a warning that appears if the search moves from the
"no match found" case to a match case. Also added a small optimization
to searching.

Change-Id: I9e4759fe00959bcbe1a7018c1bdc6cc43069fca7
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2022-02-14 17:12:33 +00:00
hjk
f78f0cc6cb Utils: Avoid accumulating .exe extensions
Change-Id: If635638a89c96b09b17d22d7e7400a046ae320e9
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2022-02-14 16:55:44 +00:00
Christian Kandeler
fa071d03cc ProjectExplorer: Fix accumulating .exe suffixes
... when trying to detect GCC on Windows.
Also make the code device-correct.

Fixes: QTCREATORBUG-27057
Change-Id: Iaaa25c152a1cf0e0f05cd6d6db629b7a72b25166
Reviewed-by: hjk <hjk@qt.io>
2022-02-14 16:26:59 +00:00
Jarek Kobus
ce40605934 ProcessInterface: Remove program() method
It looks it's really unneeded.

Change-Id: Ie9447abfbe57968e5f5302be6b23cb950c4d0ea7
Reviewed-by: hjk <hjk@qt.io>
2022-02-14 16:24:56 +00:00
Jarek Kobus
a3ff220f5b Drop ::ExitStatus:: and ::ProcessError::
That's superfluous. Fix comparison of QProcess::exitCode
with QProcess::ExitStatus.

Change-Id: I49d746fdbbc279e3e04c4ed57d386560e7cbe4b4
Reviewed-by: hjk <hjk@qt.io>
2022-02-14 15:19:44 +00:00