Commit Graph

76686 Commits

Author SHA1 Message Date
David Schulz
ad9365d8fd LanguageClient: Do not assert on opening the same document twice
Just silently ignore a second open. This is now consistent with
LanguageClientManager::openDocumentWithClient that also supports calling
it multiple times with the same document client combination.

Change-Id: I6e8eaf312805cd4e82070209b414d63433158360
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2022-02-22 11:31:23 +00:00
Mahmoud Badri
f7020a83c6 QmlDesigner: Fix project path inside imported subcomponent
When user goes inside a Qml that is part of an imported component, project
path is not accessible. This commit fixes it.

Fixes: QDS-6201
Change-Id: I4efff48399e487b586b10383f19c2d6877714dc9
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2022-02-22 10:48:09 +00:00
Thomas Hartmann
3f078ee89d QmlDesigner: Add preview of pure 3D component in form editor
If the root node is a 3D node we show a preview similar to
the state preview in the form editor. The size of the preview
is hard coded as (640, 480).

Change-Id: If7f96522b093c17422fa38102bffe11ede016063
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
2022-02-22 10:43:49 +00:00
David Schulz
298765c262 ProjectExplorer: get clang cl version via windows api
If it fails fall back to executing clang-cl --version.

Change-Id: Ia344f6eceb1ad2117dc2f7dc7f91b79daa2235ce
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2022-02-22 08:48:44 +00:00
Andre Hartmann
a8e44df681 CppCheck: Add copy to clipboard action to tooltip
Fixes: QTCREATORBUG-27092
Change-Id: Ie5b504b0b23c54fd72d56df8ff72971864475ee8
Reviewed-by: David Schulz <david.schulz@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2022-02-22 08:32:18 +00:00
Christiaan Janssen
e4da779653 McuSupport: move auto-kit-creation option to McuSupportOptions
It was part of McuPackage, and only used by the SDK instance.

Task-number: QTCREATORBUG-27093
Change-Id: I9d9eaac621e9997129c227fae3ac88b502ba4340
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2022-02-22 07:15:33 +00:00
Christian Stenger
eccbc0fbcc Qbs: Factor out gtest dependency check
..to make it re-usable.

Change-Id: I7653ee7b3ced5fb9d2b7262aecdab12438628928
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2022-02-22 05:33:10 +00:00
David Schulz
e59b7612b1 LanguageClient: do not disconnect client from everything before deletion
Otherwise cleanup code connected to QObject::destoyed might not be
executed.

Change-Id: I12bf2b614cf0d216b2f2c0762cc153b4bb845e1f
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2022-02-22 05:20:40 +00:00
Jarek Kobus
d502f78c4f TerminalImpl: Drop ProcessImpl and Terminal mode from c'tor
Change-Id: I0571eabb1a20389055a8e98dd942776b3d054981
Reviewed-by: hjk <hjk@qt.io>
2022-02-21 16:49:43 +00:00
Jarek Kobus
02d9a9b7b7 ProcessInterface: Fix parent-child relationship
Make ProcessInterface c'tor accept nullptr as parent.
Remove parent argument from subclasses of
ProcessInterface, as calling setProcessInterface()
sets the parent anyway. Fix parent-child relationship
in subclasses of ProcessInterface - pass *this as a parent.

Change-Id: I3c37c305a87bad0e6d11251ec3db538f3a5dd64b
Reviewed-by: hjk <hjk@qt.io>
2022-02-21 16:49:24 +00:00
Leena Miettinen
0c13c1c084 Doc: Describe formatting in CMake Build Settings
Italic text indicates that a value was inherited from
the kit configuration or initial configuration. Red text
indicates mismatches.

Change-Id: Ief30eef1d2667d0b4e570ea439ffb6af681db2b7
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2022-02-21 16:44:10 +00:00
Jarek Kobus
098e3794db Get rid of SshProcess (one process class less)
Introduce static SshRemoteProcess::setupSshEnvironment()
method instead.

Change-Id: I9a49bc68bd96ddf0f58234d28b92a721f7d4bb56
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2022-02-21 16:17:31 +00:00
Tim Jenssen
c3bd3d6a62 qds: make code reusable
Change-Id: Ic11917f8a442a1ed15482a1ea492a7cef9f2a7ff
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-21 16:01:01 +00:00
Jarek Kobus
6360cffc80 Fix passing environment to remote
After removing Runnable parameter from DeviceProcess::start()
(see 95c9579c58) we are now
setting the runnable's environment to the remote process
directly. This is now used in 2 places:

1. For forming the proper fullCommandLine(), so that
the passed environment is expanded to command line
arguments

2. For running the remote process itself.

Before the mentioned change these two environments were
separated (1st was taken from run environment aspect,
2nd was left with its default value - see SshProcess c'tor).
After the mentioned change 1 and 2 are equal (i.e. both are
env aspect). This affects running app in terminal,
as the aspect env is applied to the stub process, so it
can't start properly.

This change brings the separation back.

Amends 95c9579c58

Change-Id: I5efe82e19d3fb5608f97e56c2f4b7651643e156a
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2022-02-21 14:21:33 +00:00
Jarek Kobus
192bbb7618 ProcessInterface: Place the class in separate header file
Change-Id: I9f3924f7cf69af58f93fc19f0af25c6fa9cfb55e
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: hjk <hjk@qt.io>
2022-02-21 14:18:40 +00:00
Thomas Hartmann
3be545123a QmlDesigner: Add QMLSCENE_CORE_PROFILE for Qt 5
Task-number: QDS-5522
Change-Id: Iff3591e05a172716f3f37963e0430875e3ad9e04
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2022-02-21 13:22:14 +00:00
hjk
3eac52dc7d Mercurial: Fix saving of settings
Fixes: QTCREATORBUG-27091
Change-Id: I59297993f19c60a9eaf67910638818ffd17b4ff8
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-02-21 11:40:36 +00:00
Thomas Hartmann
6104806208 QmlDesigner: Add new workspaces
Task-number: QDS-6234
Change-Id: I839459c18fd0937615d97c7b74584e97300b430b
Reviewed-by: Henning Gründl <henning.gruendl@qt.io>
2022-02-21 11:32:26 +00:00
Christian Stenger
38f5415d9a McuSupport: Do not use compiler specific syntax
Change-Id: Ib466c989318b5d303f89def56fcd3f1369407843
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2022-02-21 10:35:47 +00:00
Christian Stenger
8b994bd79b McuSupport: Fix test expectation
Change-Id: I4cd0fa4d326e7681f187980c11d37668ae46c798
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
Reviewed-by: Piotr Mućko <piotr.mucko@qt.io>
2022-02-21 10:34:26 +00:00
hjk
de328378a8 ApplicationLauncher: Move started() connection to more common code
Even though so local specific code needs to stay.

Change-Id: I57b66e746861716bd95592c8aeb03d627d17fc92
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
2022-02-21 09:57:49 +00:00
Christian Stenger
4318bfb9b6 QmlDesigner: Fix qbs build
Amends c82937a78c.

Change-Id: I7438fbc84351e9de61dc27dfb5ecb4226974d6ce
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2022-02-19 18:50:49 +00:00
Jarek Kobus
357c39f2d7 Base QtcProcess on ProcessInterface
Change-Id: I51bc6b7aea8e2d3aa0ef9fbba3b5fc796058c8cb
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: hjk <hjk@qt.io>
2022-02-18 23:35:55 +00:00
Robert Löhning
00c7161e33 Squish: Run tst_save_before_build on CMake and qmake
Change-Id: I91501633e0fe7c863c43af4224474c09f57dbf8c
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2022-02-18 22:01:14 +00:00
Thomas Hartmann
c82937a78c Convert old projects to project that supports the cmake generation workflow
Task-number: QDS-5992
Change-Id: I9dd4204d7422052c80c86665ded558d959bb020b
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2022-02-18 21:10:21 +00:00
Alessandro Portale
a0d19e088e Wizards: Remove the .ui.qml wizard
Qt Creator does not offer editing .ui.qml documents, so it should not
produce them. For creating and editing .ui.qml, please use Qt Design
Studio.

Fixes: QTCREATORBUG-27085
Change-Id: I8bce9379a4bff8762a694067c25a0b266c41c417
Reviewed-by: Kimmo Leppälä <kimmo.leppala@qt.io>
Reviewed-by: hjk <hjk@qt.io>
2022-02-18 15:55:22 +00:00
Thomas Hartmann
4cbe956722 QmlDesigner: Cache result of eventListEnabled
Calling EventList::hasEventListModel() takes time, since it includes
file access. Since eventListEnabled() is called on each selection change,
we cache the result. If the root node is the same, also the document is the
same and there is no reason to check again.
This way we check only once per document.

Change-Id: Id664811b1319a306c70283d2b37de258a129892f
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Knud Dollereder <knud.dollereder@qt.io>
2022-02-18 15:06:44 +00:00
Thomas Hartmann
a29154225e StudioWelcome: Reduce minimum size to 640, 480
Change-Id: Ie6694cd62837c91f573bdcc348457876771ac479
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Knud Dollereder <knud.dollereder@qt.io>
2022-02-18 14:00:20 +00:00
Christian Kandeler
022510f1e6 ClangCodeModel: Mention project name in clangd indexing message
This will help avoid confusion in case of multi-project sessions.
We also shorten the message a bit so it won't be cut off in the progress
bar before the project name.

Change-Id: I0e5885f89a976b14f758f9be77e7669f199cd887
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: David Schulz <david.schulz@qt.io>
2022-02-18 13:39:31 +00:00
David Schulz
4f69996190 ClangCodeModel: iterate over documents instead of editors
Makes sure to handle each document just once since we can have multiple
editors for the same document.

Change-Id: I0d26a9931086d9b6be0c9c93b01f4485716d75e3
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2022-02-18 13:35:05 +00:00
Christian Kandeler
537100f803 ProjectExplorer: Make MSVC parser task creation more similar to GCC's
That is, for multi-line tasks, have the full raw output in the details,
including the line from which we created the summary. Otherwise, only
file links from potentially less important continuation lines will appear
in the details, which confuses users.

Task-number: QTCREATORBUG-27056
Change-Id: I346e7d96f2c52a74a03462a390a45d6c563200f2
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: David Schulz <david.schulz@qt.io>
2022-02-18 13:29:51 +00:00
Christian Kandeler
5866f78049 ClangCodeModel: Fix libclang tests
We must make sure clangd doesn't get in the way.

Change-Id: Ica053cce6928920b39602c7c467b5d16f8232fe6
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2022-02-18 12:40:44 +00:00
Mats Honkamaa
f87c25acb5 Doc: Update particle system documentation
Update particle system documentation and add downloadable fire
particle example.

Task-number: QDS-6190
Change-Id: Id2922f536a8400029b290328c1bdc6c1bd408fd6
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
2022-02-18 12:35:53 +00:00
Christian Kandeler
8ad7ab2d2a ClangCodeModel: Use project-specific clangd client, if possible
If we open a file that does not belong to a currently open project, there
is a good chance that the current project's parse context is a better fit
for the file than the fallback client's.

Fixes: QTCREATORBUG-26697
Change-Id: I6c17e275b047602c51364f3203b3f0a3e74a49fc
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: David Schulz <david.schulz@qt.io>
2022-02-18 11:37:34 +00:00
Henning Gruendl
3d56b8b54a QmlDesigner: Fix creation date issue on macOS
On macOS the creation date was not according to the date/time when the
example was unzipped it was rather the date/time when the example folder
was zipped. By removing the already existing folder and create it again
to hold the content of the zip archive this issue should b circumvented.

Task-number: QDS-6288
Change-Id: Icf18c4fcddcacf69feeca536f6d0e81f4c126afe
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-18 11:34:25 +00:00
Tapani Mattila
1d06032453 CMake Generator: Fix modules with nested imports
Task-number: QDS-6220
Change-Id: Icdb37b5b856af369a8d6a0e00a02ae469116864a
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2022-02-18 11:11:54 +00:00
Thomas Hartmann
abf1ec7cdc Open only designer related project files in Design Studio
DocumentManager::setFileDialogFilter allows overriding
the open Project/File filter. In QDS we only allow the relevant suffixes.

Task-number: QDS-5825
Change-Id: I6cdc0f15628a215edc41cdaeb485bd17e08ef4ec
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2022-02-18 11:10:22 +00:00
Leena Miettinen
24c9340d3d QML/JS: Fix punctuation of message
Task-number: QTCREATORBUG-27055
Change-Id: Ibaa37fc49e9ae3671cc7904b63682d245c0bdd8d
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2022-02-18 11:07:21 +00:00
David Schulz
844a5e624a Editor: make sure to cleanup select all future watcher
Change-Id: I39e1bc7926905684601eb72cdd7a4357c708c432
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2022-02-18 11:04:51 +00:00
Henning Gruendl
61d5bbbdad QmlDesigner: Fix example download missing setting
When starting with a clean config the location for download/extraction
of an example is empty. The first call to the settings needed a default
location.

Change-Id: I2d63f805dc46c564f13346648f3e3bf29a0970d8
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2022-02-18 11:00:43 +00:00
Thomas Hartmann
8538f919ca QmlDesigner: Adjust wizard template
Instead of using the constants we can use the size of the
main screen directly. This has the advantage that if
the size of the main screen changes without adjusting
the constants it still works.

Change-Id: I602cf4089249e90efb6a35b803d67df6ca2b1bab
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2022-02-18 10:59:07 +00:00
Jarek Kobus
0e6aed8127 QtcProcess: Make processId() virtual
I guess this was an intention in the below commit.

Amends 9ec997b376

Change-Id: Ie55d18f764dc73601f6d911a22323fd2a39c4eb9
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: hjk <hjk@qt.io>
2022-02-18 10:58:24 +00:00
Jarek Kobus
48960b5cfc QtcProcess: Extract QtcProcess specific enums into separate header
Change-Id: Ib3498f189000fd8f5501130c0d280b0f5ae83849
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: hjk <hjk@qt.io>
2022-02-18 10:51:55 +00:00
hjk
0ee07255f5 ProjectExplorer: Drop #include <qtcprocess.h> from runcontrol.h
Recompiles only ~500 instead of ~630 after touching qtcprocess.h.

Change-Id: If0256f27b2b9a1665cd76a65fedb7adb38a07bac
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
2022-02-18 10:51:27 +00:00
Jarek Kobus
97264e0591 Ssh: Drop ProcessMode from c'tors and creator methods
Change-Id: I2db51f26d9a841f60d5ab3722fa82b3a89d57146
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: hjk <hjk@qt.io>
2022-02-18 10:49:29 +00:00
Christian Kandeler
59fb0e9c9c Core: Properly handle file path arguments with -client option
These paths come from the user, so the separators must be translated.

Fixes: QTCREATORBUG-27075
Change-Id: Ia20c2662d30626b8b7ed3dd19afb64a43c8a716f
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-02-18 10:33:53 +00:00
Jarek Kobus
a056aa8f95 QtcProcess: Make API inventory
Group the common methods of ProcessInterface in the
QtcProcess API together. Order them the same.
This is a preparation step for basing
QtcProcess on ProcessInterface.

Group separately the other accessors and mutators that
base on ProcessSetupData m_setup field. This group
may became a part of ProcessInterface later.

Group the utils enhancemets (or decoration API) separately,
as that really doesn't influence the kernel of QtcProcess.

Add some TODO comments, to be considered later.

Change-Id: I0bf78284e71f4610eb0cf3508bc178f84fac679a
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2022-02-18 09:38:44 +00:00
Jarek Kobus
e49f57b3ec ProcessInterface: Hide m_setup in protected section
Change-Id: I8931ae0eabbc1962a8cf104fbbb849149e0cf88b
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2022-02-18 09:34:22 +00:00
Christiaan Janssen
2834e90930 McuSupport: split mcusupportoptions
Several independent classes were mashed together in mcusupportoptions.cpp
This patch moves McuToolChainPackage together with McuPackage,
McuTarget to its own header+source pair, and
McuKitManager to its own header+source pair.

Task-number: QTCREATORBUG-26890
Change-Id: I0b51da4e1cae5a976201dffd290a665eaa318b33
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2022-02-18 09:14:29 +00:00
Christian Kandeler
a08e0f7a9d ClangCodeModel: Differentiate between clangd debug output log levels
Depending on the kind of highlighting issue we want to debug, we may or
may not be interested in the actual tokens.

Change-Id: I412126d3e97949a31f1dd5f339dc09072f28be64
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: David Schulz <david.schulz@qt.io>
2022-02-18 08:55:54 +00:00