Commit Graph

76686 Commits

Author SHA1 Message Date
Jarek Kobus
1cb4017e71 SshRemoteProcessRunner: Don't buffer stdOut and stdErr
It's already being buffered inside SshRemoteProcess.

Change-Id: Iaee7e9f04f93196a1016d0e2d55a17ee88d35530
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: hjk <hjk@qt.io>
2022-02-25 18:35:30 +00:00
hjk
32590af686 Docker: Accept more ways to identify a docker FilePath
Accept (percent-encoded) repo:tag, the image id or the device id as
host() part of a docker FilePath.

Task-number: QTCREATORBUG-26856
Change-Id: I27d374be31d54bab77d129e19884b7f7fd93daa0
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2022-02-25 15:33:56 +00:00
hjk
4ca780ccb3 Utils: Use simplistic percentencoding for host parts of FilePath
Host parts with true slashes (as possible currently for docker ids
using the repo:tag style) breaks parsing in FilePath::fromString.

This provides a means to use such names nevertheless.

Task-number: QTCREATORBUG-26856
Change-Id: Iba3568c5708fe495d0dd657540f30a2519e7f45f
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2022-02-25 15:33:47 +00:00
David Schulz
f334bd422e ClangCodeModel: prevent text mark annotations in non project files
Since non project files get opened in project specific clients now, the
check whether we should add annotations needs to make sure that the
marks file is part of the client project.

Change-Id: I2790d0f7feb39162686efd06bb3542684d289b95
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2022-02-25 13:01:40 +00:00
Christian Stenger
65a6853aec QbsPM: Avoid QFileInfo for paths that may non-local
Change-Id: I08b0b2c298c8f175e0c0a2d5e87691354afa46e5
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2022-02-25 12:18:27 +00:00
Christian Kandeler
61351da56a ClangCodeModel: Add convenience function
... for creating a highlighting result from a clangd AST node.

Change-Id: Ie1fcfeee5d6b4c562143fce56498ce92a7b4fddb
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: David Schulz <david.schulz@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-02-25 11:53:59 +00:00
Christian Kandeler
64a1bf6c43 ClangCodeModel: Properly highlight built-in defines
These are not reported as semantic tokens, so consult the AST

Task-number: QTCREATORBUG-27111
Change-Id: I38efcfbdc3197173a50033a74a1bc631eaa8d2c1
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: David Schulz <david.schulz@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-02-25 11:53:39 +00:00
David Schulz
4d10a2df36 Editor: only start block selection if alt and shift is pressed
Since it is a selection the shift modifier should be part off the
shortcuts and the old block selection also required both modifiers.
Additionally this prevents creating a block selection by accident when
there are no items in the editor history since alt + arrow left is
mapped to go back in history by default.

Change-Id: I46b0753a737f1e1b3c980d2e959bcf7b4733d790
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2022-02-25 10:25:30 +00:00
Eike Ziller
9a3431ba88 Mimetypes v3: Never use installed mime data
It gets in the way, e.g. "No plugin can open project type "application/
x-kicad-project"" when trying to open .pro files. Mostly relevant on
Linux, where mime data is actually installed system-wide.

Re-implements 4f5f5d75b4

Change-Id: Ifd34214b99b77720cfc6d22e6702ca6e9ba513dc
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
2022-02-25 10:10:37 +00:00
Eike Ziller
5f70f5e336 Mimetypes v3: Re-implement adding mime types from plugin data
We get mime data specifications in text from from the plugin meta data.
Add mime providers for these.
An obvious example is application/vnd.google.android.android_manifest.
Disable automatic, time-based update of mime providers, and instead
explicitly force reloading them.

Change-Id: I07e3399ca76b1913d79b92375f679ca729c594b7
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
2022-02-25 10:09:25 +00:00
Eike Ziller
3922db8ca9 Mimetypes v3: Reimplement MimeType matchesName
This makes Qt Creator set the right default editor again.
Visible in the MIME Types setting, before this change everything is
opened in the text editor.

Change-Id: I88ffc2e41688c2395925821e1d5d8ffee0d127eb
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
2022-02-25 10:08:06 +00:00
Cristian Adam
47667772c7 CMake: Enable higher compiler warnings for building Qt Creator
The functionality comes from Qt6 and will be enabled only for Qt6 builds.

/w3 level for MSVC, -Wall -Wextra for the rest of compilers.

Change-Id: Ib62a27e50ce37a6a860ba2bfa1bdb80a7ae60ace
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2022-02-25 09:54:49 +00:00
hjk
79726e52d6 SdkTool: Add --builddevice option
Useful in a docker context.

Change-Id: I297654a9d65da2ce7d89b4ed8322d2ea0c80b3a2
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2022-02-25 09:32:35 +00:00
Christian Kandeler
1a99f41fe8 QbsProjectManager: Call qbs-config directly
It's slightly faster than going through the qbs executable first.

Fixes: QTCREATORBUG-27102
Change-Id: I13297e700fed43b20e1d1185dbdfc16152584d56
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2022-02-25 09:30:06 +00:00
Leena Miettinen
ace0a0d9d1 Doc: Add CLI options
Make the wording and capitalization of existing docs more
consistent.

Task-number: QTCREATORBUG-26610
Change-Id: If241a951ce4df757a1b26524dee412ef44bbfa4e
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2022-02-25 08:54:18 +00:00
Eike Ziller
179f393f88 Mimetypes v3: Re-add internal mime database
Qt Creator ships its own copy.
With this change, Options > Environment > MIME Types shows the basic
freedesktop types again.

Change-Id: I420d9d034e31622d5ec7f2492baef5c3f1d93df0
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
2022-02-25 08:52:49 +00:00
Eike Ziller
53aa9daeba Mimetypes v3: Reimplement mime startup phase
Which is used for sanity checking that we don't do expensive things on
startup, e.g. by accessing mime types before registering the plugin
provided mimetypes.

Change-Id: Ib99a5ca3bdd489c86f48dc5fbc83273fc28cc0f9
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
2022-02-25 08:52:22 +00:00
hjk
b178e407a4 SdkTool: Make auto test easier maintainable
Adding new kit items so far required touching test code in several
places.

Also, use more but simpler individual tests to find failing tests
quicker.

Change-Id: I540b93c01a6bdbb85353928713995c262dfc919e
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-02-25 08:41:05 +00:00
Thomas Hartmann
44aba26a47 StudioWelcom: Slight increase in margin in SplashScreen
Change-Id: I5ea3642134ea9ff76e9dc40cc0319933c26f9fc1
Reviewed-by: Brook Cronin <brook.cronin@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2022-02-25 08:34:47 +00:00
Eike Ziller
c906f57d14 StudioPlugin: Fix build
The header was moved. The old include managed to sneak back in
via f562ebf239 without creating
a merge conflict.

Change-Id: I29c1d42887db7947693ae2bf1f30ff3c982a9d3c
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
2022-02-25 08:34:46 +00:00
Jarek Kobus
ed1301005a Introduce Utils::ProcessInfo
It will substitute ProjectExplorer::DeviceProcessItem.
Add ProcessInfo::processInfoList(), it's going to substitute
LocalProcessList::getLocalProcesses().

Change-Id: I8b51b2221630668c6245da82a58104e7e365dbb3
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: hjk <hjk@qt.io>
2022-02-25 07:51:33 +00:00
Eike Ziller
f562ebf239 Mimetypes: Make implementation switchable between new and old
- configure with QTC_USE_NEW_MIMEDATABASE to switch to the new one in
  utils/mimetypes2/
- added utils/mimeutils.h header for the Qt Creator specific static
  wrappers, that also includes the "public" headers for MimeType et al
  from the new or old implementation, depending on configuration
- change all utils/mimetypes/ includes to utils/mimeutils.h
- move the implementation for the wrappers to
  utils/mimetypes(2)/mimeutils.cpp
- also move the MimeDatabase declaration in the "old" implementation
  back to utils/mimetypes/mimedatabase.h

Change-Id: Ie8de229c035d6cd9a5e4739dc0fa78d9c17228e3
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-02-25 07:19:58 +00:00
David Schulz
967b1d237b ClangCodeModel: remove ClangdTextMark safety net
Since all text mark created by the diagnostic manager get deleted
properly on destruction now, there is no need to react on the client
destruction in ClangdTextMark.

Task-number: QTCREATORBUG-26585
Change-Id: Ifb9b8546c8f0d94debdcf2c8de6081e4e731cfab
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2022-02-25 05:34:30 +00:00
Tim Jenssen
b58c57fb3f crashpad: disable calling crashpad_handler on arm64
Currently, the none arm handler binary is hanging and
needs further investigation.
Maybe a complete universal build will fix this, and
we can enable it again.

Change-Id: I60b5623d8dda500a3be3efd095f91a9609600324
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
2022-02-24 16:27:34 +00:00
Jarek Kobus
343a567e07 LocalProcessList: Use ranged-for loop
Change-Id: Iae104436f472fd11b2cc09cf074da828a20ab3cf
Reviewed-by: hjk <hjk@qt.io>
2022-02-24 15:57:36 +00:00
Christian Stenger
5ce07a2345 Scripts: Fix uichanges script
Amends 394bfb508f.

Change-Id: I6e933f8bc18298b81b99a716e734d84fbd2b7528
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2022-02-24 14:35:37 +00:00
Christian Kandeler
86f1864d3c CppEditor: Catch another project pointer access from a thread
Amends 33108795d6.

Fixes: QTCREATORBUG-27044
Change-Id: I53d716355b0784841fd8d965c8af14fe321c33de
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2022-02-24 14:28:23 +00:00
hjk
1172eeb060 ProjectExplorer: Introduce device://<deviceid>/...
... to identify a device in a file path.

For use from the sdktool.

This is an addition to the pre-existing way to identify devices
using e.g. docker://<id> or ssh://<ip>/

Change-Id: Ice5481eab550b2fe39eda4c6d74d9c46fa6b6626
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2022-02-24 14:27:57 +00:00
Christian Stenger
3ae6f41c3f Squish: Adapt to changed UI
Change-Id: Ie25ba8a72b7fd93f60f04303ed223e7cdf2406af
Reviewed-by: Robert Löhning <robert.loehning@qt.io>
2022-02-24 14:04:51 +00:00
Mahmoud Badri
c077f42e23 QmlDesigner: Fix imported meshes don't appear in a model's source
Fixes: QDS-6329
Change-Id: Iec70492d8dfce4f8a0ce05cbd16991f70b9eb985
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2022-02-24 13:02:21 +00:00
David Schulz
4452f71201 LanguageClient: avoid optional::value
Potentially throws std::bad_optional_access. Use operator* and
operator-> instead.

Change-Id: Idefa137da53f3663ea88961f1105b93402ec4777
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-02-24 12:04:38 +00:00
Eike Ziller
41538832c3 Merge remote-tracking branch 'origin/7.0'
Conflicts:
	src/libs/utils/qtcprocess.cpp
	src/plugins/qmldesigner/components/curveeditor/curveeditorview.cpp
	src/plugins/qmldesigner/components/itemlibrary/itemlibrarymodel.cpp

Change-Id: Id0c31719e46d1c44770ea89663eee321a0517ff4
2022-02-24 11:42:57 +01:00
David Schulz
0ce098ed87 WinRt: enable plugin on Windows 11
Change-Id: Ie935b1baaa4331499143de4eb3fb9bd57b38c347
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2022-02-24 10:00:35 +00:00
David Schulz
3cf6d15096 LanguageClient: track all created diagnostic marks
Removing a block results in taking marks of that line out of the
document, but does not delete those marks. So we cannot rely on
iterating over marks of a document to delete all marks for a specific
file. Instead save all marks from text mark creator for a file path and
iterate this list to delete diagnostic marks.

Fixes: QTCREATORBUG-26585
Change-Id: Idc41fce5de4ade68f4a29c23ba02844701b44d3c
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2022-02-24 05:25:25 +00:00
Thomas Hartmann
ee4757a8e8 QmlDesigner: Use LoggingCategory in ImageContainer
Change-Id: Ibdce399fc2df19883d6ffd12e9441c58d46035ec
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2022-02-23 20:47:09 +00:00
Mahmoud Badri
787bbfaf1c QmlDesigner: Fix path when importing a 3D model inside a component
Fixes: QDS-6319
Change-Id: Ia9dbdf9a2d32eaf996cca2ba84e89ca8111dab1c
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Samuel Ghinet <samuel.ghinet@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2022-02-23 18:48:06 +00:00
Mahmoud Badri
45364d4327 QmlDesigner: Disable scrolling when context menu is open
Disable components and assets views scrolling when the context menu
is open.

Fixes: QDS-6317
Change-Id: Ibdbf29b14d0383fd2b876c655ccb17c35fdb6aff
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Reviewed-by: Samuel Ghinet <samuel.ghinet@qt.io>
2022-02-23 18:12:22 +00:00
Assam Boudjelthia
c1512dce87 Android: don't stop deployment if the kit's ABIs list is empty
If for some reason we cannot get the list of kit's ABIs or it's not set,
don't stop the deployment because of that, let it continue and fail
later.

Fixes: QTCREATORBUG-27103
Change-Id: I973e5ffdca1e8fb6af3f6e6438969b38b8e375c8
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-02-23 17:21:51 +00:00
Assam Boudjelthia
0586418f83 Android: Differentiate between same devices connected via usb and wifi
ADB allows connecting the same device via USB or WiFi, so we need
to make sure the name of the wifi which appears as a different device,
make sure it does mean something instead of "Name2" as proposed by
default by QC. So this adds the term wifi to the name to make it clear.

Change-Id: I5923ca2430c8b51ae2525744dcc1f803ab976b35
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-02-23 17:21:36 +00:00
Thomas Hartmann
ef6fbe373f QmlDesigner: Fix crash
For some files rootFormEditorItem() can be null.

Change-Id: I71672e4d43bfd086011f6a6cb3c93572f6ba0a05
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2022-02-23 17:01:47 +00:00
Thomas Hartmann
3a210bb811 QmlDesigner: Rename views for consistency
"CurveEditor" -> "Curve Editor"

Task-number: QDS-5852, QDS-6325
Change-Id: I709b54c338708f4387d0d1cb4b928d8eebbfb3be
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: hjk <hjk@qt.io>
2022-02-23 16:57:27 +00:00
Christian Kandeler
cac1c3d501 Fix more warnings
Found by compiling with clang

Change-Id: Iec0ed8aa8b6a742a5a3996a6c19c410e209fb048
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2022-02-23 16:57:25 +00:00
Eike Ziller
fff5944e65 Fix lupdate issues
When updating translations with
cmake --build . --target ts_de
(or other language ID)

- Qualifying with unknown namespace/class ::PluginSpecPrivate
- <class> lacks Q_OBJECT macro

Change-Id: Ic42d8dffea935e6b10e59223bdedb9a8a4dcf446
Reviewed-by: hjk <hjk@qt.io>
2022-02-23 16:53:00 +00:00
Tapani Mattila
24274cd907 CMake project converter: Enable only if project is old format
Task-number: QDS-6250
Change-Id: I41ca02ff76e53cb7470056b2f956b05d2027e773
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-02-23 16:43:15 +00:00
Jarek Kobus
f1e973de79 RunControl: Drop IDevice * from doStart()
Use device set inside passed runnable instead.

Grep for all usages of RunControl::start().
If passed device wasn't nullptr, set this device
inside passed runnable. Otherwise ensure that
passed runnable contains device set to nullptr.

Change-Id: I06fd42a16246fa9fedd81eeb47481a217f887cb0
Reviewed-by: hjk <hjk@qt.io>
2022-02-23 16:28:01 +00:00
Thomas Hartmann
5c13dd1ac1 QmlDesigner: Optimize setResourcePath()
Only update the resource path if it is actually different.

Change-Id: Iaabe3129c9a094a6166a17cd9cba56c123221fba
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
2022-02-23 15:33:51 +00:00
Jarek Kobus
3f259da6d5 ApplicationLauncher: Treat DesktopDevice as local
Treat DesktopDevice and all derived devices as local
in application launcher.

Change-Id: Ie1a025c03f1c96158c67e0c900f89e33ec7c4663
Reviewed-by: hjk <hjk@qt.io>
2022-02-23 15:26:56 +00:00
Christian Kandeler
52e26a360b Fix newly introduced warnings
Change-Id: I0b9cf3496d536e1173fbd6587e5b491305eb876c
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-02-23 15:26:31 +00:00
Jarek Kobus
10abf43afa ApplicationLauncher: Remove start(IDevice *) overload
Take the device from runnable passed in setRunnable().
If the intention is to run locally, set the device
to nullptr inside runnable. Otherwise we don't run locally.

Follows 47957de2dc

Change-Id: I5b381bb499cf76e469c844ac7474ce2f60761cef
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2022-02-23 15:03:30 +00:00
Thomas Hartmann
59982f1ca9 QmlDesigner: Remove superfluous update
Change-Id: I3bc4fc4b480e9cb895357580968c6568e7150cbb
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2022-02-23 15:01:45 +00:00