Commit Graph

62421 Commits

Author SHA1 Message Date
Thomas Hartmann
52e3f2cd5f QmlDesigner: Cache last image in 3D view and add busy indicator
This patch caches the last image from a document/model.
The result ist that when reopening a file in the 3D editor
the user sees immediately something.
Since the view is not interactive, yet, we show a busy indicator
until the view is fully initialized.

Change-Id: I26c8b0ea69f98ceb41580624c51d48d1e633ab80
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2022-02-10 21:00:11 +00:00
Erik Verbruggen
250f4fb72f McuSupport: Move McuDependenciesKitAspectWidget into its own file
Change-Id: I41a2a6ec48c5c02ca655cb09ad08080d73d336fe
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-02-10 20:42:59 +00:00
Thomas Hartmann
6472e8c5bb QmlDesigner: Set proper version when duplicating states
When duplicating a state we did not set the correct version.
This stopped the rewriter from syncing the property with the QML code.
I added a regression test.

Task-number: QDS-6185
Change-Id: I11552a9f880eb83f4df1341fb0b94c9a3a6e5035
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2022-02-10 16:33:51 +00:00
Eike Ziller
3ba00ac39f CMake build: Allow adding RPATHs via CMAKE_(BUILD|INSTALL)_RPATH
Prepend our own relative RPATHs to CMAKE_INSTALL_RPATH (or
CMAKE_BUILD_RPATH respectively) instead of overriding them completely.
That allows adding an RPATH to e.g. a self-compiled and separately
installed Qt to the installed Qt Creator.

Fixes: QTCREATORBUG-27008
Change-Id: I8cd9167fdf5ba9838850fcfab8135da9b79e6695
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2022-02-10 16:32:42 +00:00
hjk
44493857c2 SdkTool: Use slightly less repetitive approach for operation interface
Change-Id: I4d1d205c610df39be6a810dfda3049ae14a06806
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2022-02-10 15:06:36 +00:00
Miikka Heikkinen
f146b846cd QmlDesigner: Implement proper preview for pure 3D scenes
Refactored the existing 3D node preview generation to be done
synchronously, which enables their use also for creating state
and item library previews for 3D nodes with ease.

Fixes: QDS-5785
Change-Id: Ib493eccbc239f33bcad3301673a865494616a901
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2022-02-10 14:47:26 +00:00
Artem Sokolovskii
ab5fdd94f3 [ClangFormat] Add test checkking indentation after Q_OBJECT
Added test checking behavior when after Q_OBJECT all class structure
have correct indenting and redundent tabs doesn't appear before key words
such as  public:, private: , etc.
Made automatic addition Qt defines to StatementMacro to .clang-format files.

Fixes: QTCREATORBUG-26776
Change-Id: I3490421a9caf2831b593939597940358f7ce8f01
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2022-02-10 13:37:05 +00:00
Christian Stenger
8a29a78ebf CdbExt: Fix Python-C API handling
From 3.10 onwards we need an additional macro when parsing
and building values.

Change-Id: Ia0bcdde467d87a1c7d22ec8657e050cdf5f1e52e
Reviewed-by: David Schulz <david.schulz@qt.io>
2022-02-10 13:06:46 +00:00
Christian Kandeler
6ede8b3bc0 ClangCodeModel: Support parse contexts with clangd
Fixes: QTCREATORBUG-27009
Change-Id: I177db0658d545211b940623cae071db91e82ddb4
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: David Schulz <david.schulz@qt.io>
2022-02-10 12:58:30 +00:00
Jarek Kobus
959e2b0124 Fix showing non-zero exit code in output pane for remote app
Change-Id: Ifc1b26c439ad6e78669b4ba9ac38e7d7e6a8c614
Reviewed-by: hjk <hjk@qt.io>
2022-02-10 12:25:37 +00:00
Christian Kandeler
400ada2daa ProjectExplorer: Dis-ambiguate issues pane's "show output" action
Amends 08a86169db.

Fixes: QTCREATORBUG-27031
Change-Id: Ie6d214673f6c1c52aab1a035c84a7381f9965588
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-10 12:17:13 +00:00
Eike Ziller
5d675ff533 Remove QTC_ASSERT because unset toolchain is a valid condition
Change-Id: I2ba710cf4e0af31138787bb7859302ad3a3f3d03
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2022-02-10 11:48:11 +00:00
Cristian Adam
2eef90e86f CMakePM: Update generator kit value after Kit Configuration dialog
The CMAKE_GENERATOR variable in "Initial Configuration" didn't get
the Kit value after a change in the "Kit Configuration" dialog.

Change-Id: Ieb9d634e2e9b1a5522b189e16bb66f8cea4c63b1
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2022-02-10 11:08:39 +00:00
Cristian Adam
a204ad3236 CMakePM: Do not reconfigure project on KitUpdated
Initial Configuration will get the updated kit values and it's
up to the user to react.

The reconfiguration doesn't help at all, since none of
the variables / options ends up in the Current Configuration.

Change-Id: I5ee75fce1a33ce30a011ce6f1b6399fd79727ca6
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2022-02-10 11:08:26 +00:00
Christian Kandeler
14ee4654c1 ClangCodeModel: Fix detection of #ifdef'ed out blocks with clangd
We were erroneously merging adjacent disabled blocks.

Change-Id: I9f8f588c0362d488a24c044910474815b94efd59
Reviewed-by: David Schulz <david.schulz@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-02-10 10:59:23 +00:00
hjk
3bdab2f05e Docker: Simplify and fix "Open Shell in Container"
Change-Id: Icce72712a006f524b8a8328904d89f2b0e2b8a3d
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2022-02-10 10:02:33 +00:00
Erik Verbruggen
34345f8b7e Make McuToolChainPackage::Type an enum class
And make more use of switch statements without a default case, so each
type is handled explicitly. (Ok, there is a default, but that is
Q_UNREACHABLE).

Change-Id: I30ccc447e55a5aeebebe1a9879ea3136545f5e68
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
Reviewed-by: <piotr.mucko@qt.io>
2022-02-10 08:52:59 +00:00
Erik Verbruggen
32f8ed7b66 Make (and return) more properties as const-ref in McuPackage
This implies that those properties are now passed into the constructor,
and their setters are removed.

Change-Id: I34b4d9d7450897e6a7a72b8edaffdc05961546d1
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
Reviewed-by: <piotr.mucko@qt.io>
2022-02-10 08:52:45 +00:00
Erik Verbruggen
6b6b35f59e Move MCUPackage and MCUToolChain package to separate files
Also move `packagePathFromSettings` so it can be used from multiple
places. This function will probably move into a separate utility file
in future changes.

Change-Id: I208a5a7bc8aa689829178809a1f4053a961d93be
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
Reviewed-by: <piotr.mucko@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-02-10 08:52:23 +00:00
Miikka Heikkinen
a3596e6527 QmlDesigner: Fix 3D import crash and import statement insertion
Sometimes importing 3D models would crash because null process output
callback, so just make an empty dummy callback.

Import statement insertion to the qml document for the asset also
failed, because new import creation is no longer automatically detected
by qmljs, probably due to some optimization.
Fixed by explicitly scanning the import target directory for new
content. This also allows us to know when scan is completed,
so we can reduce mandatory waiting time.
Also added check to see when the new imports are available in the model
to reduce mandatory waiting for that step, too.

Change-Id: I8d8757efea5481e0d3f15add2b93e6f0f5b155cb
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
Reviewed-by: Samuel Ghinet <samuel.ghinet@qt.io>
2022-02-10 08:49:16 +00:00
Alessandro Portale
d84c5da4e9 Core: Limit rendering of tag rows in ListItemDelegate
Unlimited rows make the tags flow over the lower edge. Two rows should
be enough for proper tagging.

All tags are still used for searching, even if some are omitted in the
rendering.

Change-Id: Ia731031f362165c75ef5fa34a80200c85d2f93aa
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2022-02-10 08:41:50 +00:00
Christian Kandeler
64fee150ef ClangCodeModel: Consider whitespace in preprocessor directives
... when highlighting with clangd. That is, treat "# ifdef" the same as
"#ifdef".

Fixes: QTCREATORBUG-27021
Change-Id: Ic57ed42e09f95611dd85ca3c112e23b52a3f91fc
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-10 08:09:49 +00:00
Christian Kandeler
105e591060 ProjectExplorer: Delay project parsing until it's part of the session
E.g. code model logic relies on the session manager knowing about the
project currently being parsed.

Fixes: QTCREATORBUG-26987
Change-Id: I4d9a1c21ab8474f7ac21edaeebe667fc4f3a6c4e
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-02-10 08:06:09 +00:00
David Schulz
a1cc9b4e5c Editor: fix internal cursor position after backspace
Fixes: QTCREATORBUG-27035
Change-Id: Id39d8832c5e3327cd42ce10447da98ca78fe476d
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2022-02-10 08:00:42 +00:00
David Schulz
d59047a4c2 LanguageClient: do not disconnect client from manager
The previously connected signals should be safe to stay connected while
the server restarts. This fixes restarting crashed clients more than once.

Change-Id: I161d41418e10b7e3bd3e17141720f4a5f399841c
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2022-02-10 08:00:26 +00:00
hjk
385367cfd7 QmlJS: Fix compiulation with namespaces
Amends 125d7c0cce.

Change-Id: I75f2c562aca2e3a00bb0284f39c3951664e2c956
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2022-02-10 07:10:32 +00:00
Alessandro Portale
d61069b90f LanguageClient: Prevent extra frame border around outline view
For consistency with other views.

Change-Id: I3d495a3bd037fe917c99bf5e9916651ca48c03fd
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: David Schulz <david.schulz@qt.io>
2022-02-10 07:06:15 +00:00
Alessandro Portale
08c25aef25 TextEditor: Fix High-DPI+Qt6 drawing of the refactor marker icon
Subtle devicePixelRatio-related changes in Qt require to restrict one
division by a Qt 5 specific #ifdef.

Fixes: QTCREATORBUG-26905
Change-Id: Ic5eecef5c7cb355abc8a5391708c5cd1050af282
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: David Schulz <david.schulz@qt.io>
2022-02-10 06:38:46 +00:00
Christian Stenger
bafea94402 Clangd: Fix possible crash in inspector
When fast switching between clients listed inside the inspector
the message response for memory usage may arrive after the model
has been destroyed.

Change-Id: I0503bb334cf21b0919316f0ac2e731472f3433bd
Reviewed-by: David Schulz <david.schulz@qt.io>
2022-02-10 05:52:51 +00:00
Knud Dollereder
b36bba03ba QmlDesigner: Improve performance of ConnectionManager
This is a pertial cherry-pick from master.
See commit: b9d59edeb1
I removed the changes to the process deletion.
This requires an extra cleanup patch in master.

Change-Id: If845ea44f483c5d3c646595ff9298bcdd3dfd59a
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2022-02-09 17:50:13 +00:00
Thomas Hartmann
cea31a2c4f QmlDesigner: Add cache for instances
When detaching the NodeInstanceView from a model
we insert all instances for this model into a cache.
The cache currently takes a maximum of 20 models.
If the model is reattached we use the existing instances, instead
of creating new ones.
We also recycle the state previews. Outdated data will be overridden by
new data once the puppet is sending the respective commands.

Task-number: QDS-6121
Change-Id: I15b5628afc5579ba8a03dca23ba5809e55022f3d
Reviewed-by: Marco Bubke <marco.bubke@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-02-09 17:49:59 +00:00
hjk
0b131fae72 Docker: Use repo + tag for image identification
Makes configurations a bit better exchangable (sdktool...).

Change-Id: Ia566a516afea2205c973527e02ce5664634ebbdc
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2022-02-09 15:02:25 +00:00
Antti Määttä
cdeb3ae13f Add quick3d memory consumption to profiler
Change-Id: I300ef808793fafc7328118dcc694ab67e90f9f52
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Janne Koskinen <janne.p.koskinen@qt.io>
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2022-02-09 12:51:15 +00:00
Jarek Kobus
072750a284 Fix crash reporting in output pane when remote run in terminal
Fixes: QTCREATORBUG-27007
Change-Id: I6e409eb6489530dc6c48c90d20e28ff019eff187
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: hjk <hjk@qt.io>
2022-02-09 12:34:57 +00:00
Jarek Kobus
ff68923846 Fix stopping the remote app run in terminal
It amends 9ec997b376
were in case of runInTerminal() we were not connected
to self started() signal anymore, so we were missing
a call to setState(SshDeviceProcessPrivate::ProcessRunning)
after start.

Amends 9ec997b376

Fixes: QTCREATORBUG-27014
Change-Id: I48bd2c223f36cd12b0b66bdc62f735b12cf7bdeb
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: hjk <hjk@qt.io>
2022-02-09 12:28:30 +00:00
hjk
cfbf083089 Docker: Allow use of local access only as compile time switch
That's sufficient for testing/working on the feature and removes
accidental use by users.

Change-Id: Ic0fb3076f769ab9ab7ff74973f0129402db7f142
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2022-02-09 12:23:54 +00:00
Jarek Kobus
3bb4483288 Remove unneeded declaration of Connection class
There is no such a class in ProjectExplorer namespace.

Change-Id: Ib82c154795bd120b4d3ec696b6553863a0bf7566
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: hjk <hjk@qt.io>
2022-02-09 11:33:24 +00:00
Andre Hartmann
eb7aad198f VcsOutputLineParser: Allow copying links to clipboard
Change-Id: I193225ed42db61966db9cc9cdf3db7e9dca26672
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-02-09 10:40:52 +00:00
Mahmoud Badri
2f08f2bc11 QmlDesigner: Fix image drop to a navigator material issue
When dropping an image from the assets library to a material in the
navigator, and then cancelling the texture property dialog, don't create
an image.
Also some styling fixes.

Change-Id: I49a3e7f154110de7b8a99e2a334b6c1753a98840
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-09 09:29:26 +00:00
Cristian Adam
4075b793c0 CMakePM: Use the right type for the few kit CMake variables
Use FILEPATH for CMAKE_C|CXX_COMPILER variables, and PATH for directory
variables like CMAKE_PREFIX_PATH.

Task-number: QTCREATORBUG-27005
Change-Id: I906de43ab97d2dbad0374469c4576d901d2f6339
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2022-02-09 09:15:21 +00:00
Eike Ziller
3c1a87290e Register some more windows
So they get an entry in the Window menu, and window related shortcuts
are registered correctly.

Change-Id: Ie7e882a009f928f1268fdd312e7fb5362f6a837f
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2022-02-09 09:12:29 +00:00
David Schulz
c9cd00f2ce Python: add lsp configuration widget
Change-Id: I688981293e3bbbee64fc2d714146fcdfa8126458
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2022-02-09 09:03:30 +00:00
Aaron Barany
035b8aa5f7 Debugger: Read remaining data before shutting down output collector
Make sure any last data is read before shutting down the output collector.
Prevents situations where output can be truncated when many lines of output
are written before the program terminates.

Task-number: QTCREATORBUG-27010
Change-Id: I33fd84281c371a68cccb195fa21b76a9e94482f0
Reviewed-by: hjk <hjk@qt.io>
2022-02-09 08:21:57 +00:00
Thomas Hartmann
2f29b9886a QmlDesigner: Extend DebugView
Change-Id: I7a0d52b215762794511ecf60993bca1cebc185bb
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2022-02-09 07:13:37 +00:00
Thomas Hartmann
46e2683f0d QmlDesigner: Collect usage statistics for contex help
Change-Id: Ie1a1250abc6e55c13d71d8545a50d539f4360392
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2022-02-09 07:12:54 +00:00
Thomas Hartmann
9e1c2232a4 QmlDesigner: Remove Studio3D item from metainfo
Change-Id: I682e655e4369bb4d59a8a7b2c74be2427dbf14a0
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2022-02-08 18:11:43 +00:00
hjk
2962da2255 CMake: Prevent crash if kit has no toolchain
Amends beb167a963.

(cherry picked from commit b3375cfd56)
Fixes: QTCREATORBUG-26777
Change-Id: I65feee771a21bdfbb2a102419a0d778af97a22eb
Reviewed-by: Christiaan Janssen <christiaan.janssen@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2022-02-08 18:01:19 +00:00
Knud Dollereder
b9d59edeb1 Cleanup ConnectionManager
- Do not block starting the puppet processes while waiting for the reply
- Remove unnessecary connection.clear() from ConnectionManager::shutDown
  since this was already done in closeSocketsAndKillProcesses
- Remove Timers from ConnectionManager::closeSocketsAndKillProcesses
  since they leak memory and termination of the processes is done in
  QProcessUniquePointerDeleter
- Remove second deleteLater from QProcessUniquePointerDeleter since this
  is handled by the connection to the finished signal

Change-Id: If845ea44f483c5d3c646595ff9298bcdd3dfd59a
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-08 17:52:37 +00:00
Knud Dollereder
8e3496a6ce Do not call endResetModel twice
Moved beginResetModel/endResetModel calls out of
ItemLibrary::updateVisibility into the calling functions.
This way endResetModel is not called twice in ItemLibraryModel::update.

Change-Id: I9588ba97aeb9da7c5a629612c9b3dc6315859501
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2022-02-08 17:52:21 +00:00
Mahmoud Badri
9c5e6e2d8c QmlDesigner: Split components and assets libraries
Fixes: QDS-6151
Change-Id: Id6f79a2d1fcff5fb55d3ba3f1b1394f1f55ca36b
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Samuel Ghinet <samuel.ghinet@qt.io>
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-08 17:09:40 +00:00