It was previously fixed in 1a43983ea6
Since then, adding the aspect to grid adds a label itself, so the self-
created label in setKit is irrelevant (it adds some empty space), and
the labels that are created for the aspects are accumulated again.
Instead of trying to delete the labels, create a wrapping QWidget.
Deleting this widget gets rid of any widgets that might have been added
when creating the grid of mutable aspects.
Fixes: QTCREATORBUG-29990
Change-Id: I5f2aebf9a865e532c9e24a29ec5979b11d17d43a
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
When switching between different editors in Design mode (e.g. ui and
qml), the side bar buttons must update. So far they reacted on mode
switches, but not on changes of the main window while staying in the
same mode.
Change-Id: I85635f12bb8613e90ec81056d8763431c04fea2e
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Let's not access the object state after emitting
ClangdFollowSymbol::done(), in case the receiver deletes us.
Can happen in test code.
Change-Id: Ia6c691c0f88b16476da1a6be1cedd106d9da2d53
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: David Schulz <david.schulz@qt.io>
Backslashes in the markup string are escaped with another backslash, so
we need to check for two consecutive ones on Windows.
Otherwise, qdoc/doxygen commands such as "\note" are interpreted as files
and trigger expensive I/O operations.
Fixes: QTCREATORBUG-29975
Change-Id: I822f57a8612274ff4112063928cab21b9d7ca792
Reviewed-by: David Schulz <david.schulz@qt.io>
So that in the CI we can simply run:
$ qtcreator -test CppEditor -load ClangCodeModel
There are some failures left, which we will tackle one by one in follow-
up patches.
Change-Id: Ic4ebcb82f6439b344ae055889a6a16d56b2e3206
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Un-virtualize IMode::mainWindow. If the mode widget is a main window
directly, that is handled automatically, otherwise provide a setter. It
is better to have a central point for setting it, in case that it isn't
the mode widget in the first place. Also, using Aggregation::query for
this is actually a misuse of Aggregate, which is supposed to combine
_independent_ objects, not objects that are in the same hierarchy (which
can crash if the child object is deleted first).
Change-Id: I35381e0a05645022aac72501492ea6347953cd55
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
This reverts commit 12428bf1d6 because it triggers a qassert
in QObject::setParent when the object is a widget.
Change-Id: Ib9b76192f548cd3201fcb78a19ea88ccb5782ba2
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
If ::createObjectsForImport is called twice, then
m_objectsByQualifiedName already contains the type and an empty list is
returned. The returned list is used for the prototype lookup and
in this case the import is empty and the prototype cannot be found.
This happened for QtQuick3D.Effect when used from QtQuick3D.Effects in some
cases. There is a race condition. The second call to ::::createObjectsForImport
is quite rare.
Task-number: QDS-11069
Change-Id: I6dfe152224172d0d626625d24a53f36d4219372f
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
The code to handle dropping unintentionally got commented out, then
fixed, then commented out again.
This change restores it.
Amends: e5f74d217b
..which amended: 5da1f14903
..which amended: e34762c844
Fixes: QTCREATORBUG-29961
Change-Id: Iccc8a9b7bc24bc3475ed4fa37a7c231a1f575c1c
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
So far, if a mode includes navigation widget placeholders, these are
used for the sidebar toggle buttons, otherwise the buttons are disabled.
Now, if a mode does not include navigation widget placeholders, but the
mode has a FancyMainWindow attached, use the buttons to hide or show the
corresponding dock widget area (left or right).
Since QMainWindow does not really support "hiding a dock widget area",
the FancyMainWindow needs to track that state manually, by tracking the
dock widgets that were visible before "hiding the dock widget area".
Also, if a dock widget is dragged into a "hidden" area, or a widget is
made visible or "unfloated" into that area, show the other widgets in the
area again as well, "unhiding" the area.
Since the mode widgets that have a mainwindow somewhere usually wrap
that into a splitter for the output panes, and the Design mode is
actually a stack widget, IMode needs another method that returns the
appropriate FancyMainWindow if available.
The patch implements this for Widget Designer.
Change-Id: I03531f4d5130c846ff5d65831b1c9be210e1c561
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
GenericUploadStep doesn't set execute rights to the binary when
deployed from Windows host. Switch back to DirectUploadStep
until support is available.
Task-number: QTCREATORBUG-29971
Change-Id: I253210d44c5587d529f1f7082cac3e9a2ead59c1
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
That's the conceptually correct way to do this operation. Fixes lots of
randomness and results in simpler code.
Fixes: QTCREATORBUG-29923
Change-Id: I1f391c323ecdeeb5b8def9b4c56ad5206661edcb
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Allows the same functionality as QObject::connect
Change-Id: I4416d991dc8bcdf24893435c30b530a6b4d3fda4
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
... and use it to follow symbols that QmlJSEditor does not know about.
For now, the only implemented case on the server side is getting to a
product or module via a Depends item.
More functionality will follow.
Change-Id: I597c7ab10f4bf6962684ed26357dfc0eef3a6c15
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: David Schulz <david.schulz@qt.io>
lldb will normally set OS_ACTIVITY_DT_MODE, so that NSLog is mirrored
to stderr, but this also affects os_log, which we use in the Apple
unified logging backend.
When we detect this situation in the unified logging backend, we disable
Qt's own stderr logging, to avoid duplicate messages.
As the Qt stderr logging is preferable to the stderr logging that os_log
gives, we override lldb's choice, using the same environment variable
opt out that Xcode uses: IDE_DISABLED_OS_ACTIVITY_DT_MODE.
This makes console output in Qt Creator the same, regardless of whether
the user is debugging the app or not.
Change-Id: I5544bde803671258cede918705388c9283885e30
Reviewed-by: Axel Spoerl <axel.spoerl@qt.io>
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
It doesn't really make sense to toggle the central widget (= form
editor) for widget designer
Change-Id: I6ebcc9e1c2a57f1377c16a791b27b44f081042c3
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
This is not foolproof, but we try to find the dock widgets that are
vertically arranged with the one that is (un)collapsed, and try to set
the sizes such that the title widget does not move.
Change-Id: I14fd799396a41420b041a89d43fd65d47672a831
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
Before the redesign, the dock widgets didn't have a "tool bar" at the
top, so we had the designer tool bar with the document dropdown and form
related tool buttons spanning the whole design mode width (to have a
continuous styled bar at the top of the window).
Now the dock widgets' title widget is a styled bar, so we would have the
designer tool bar, and below that the styled bar from the dock widgets,
which unnecessarily creates a big blog of styled bars.
Instead, move the designer tool bar inside the central form widget. The
title bars from the dock widgets complete the top styled bar now. This
is also more consistent with Edit mode.
Change-Id: I7d322a75a8a34120763b4dd85c44ddf674930e36
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
* Update to newest version of ADS
* Fix memory leak in DockContainerWidget
Base repository was merged until commit
59b4dfb89c0c9c0e6035fe580088432312ed2d09
Change-Id: I357b21888fe6f0ec2160c8688d84cb7ecdcad079
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Qt CI Patch Build Bot <ci_patchbuild_bot@qt.io>
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Only remove the first to characters of a signal name, if it matches
the regular expression.
Task-number: QDS-11385
Change-Id: Icc61f2c5281c15842729f67d3b0498c80637ceb1
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Reviewed-by: Qt CI Patch Build Bot <ci_patchbuild_bot@qt.io>
Prevent saving a workspace that was never shown, e.g. only welcome page
was shown and QtDS was closed again. This scenario causes the workspace
to have wrong sizes hence the next time this workspace will be shown
it will look distorted.
This behavior is a result of the startup workspace always being loaded
and always saved. If the workspace was never visually shown, it didn't
get the correct geometry from the main window which results in wrong
sizes of splitters in the workspace.
Change-Id: I780b561e98e72f7d48becf32d178fb600b5d4336
Reviewed-by: Qt CI Patch Build Bot <ci_patchbuild_bot@qt.io>
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Remove the connection to the minimum size hint setting and the active
call to the dock manager and force the user to restart design studio to
apply changes.
Change-Id: I2aca66b02a1f7658a2dac7322f6a530bf9f6b084
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Reviewed-by: Qt CI Patch Build Bot <ci_patchbuild_bot@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
The parseCompoundStatement() function can return without setting the
output parameter if the maximum statement depth is exceeded.
Task-number: QTCREATORBUG-29847
Change-Id: Ifd76cd948c30498863246a1b80bd0657950101ca
Reviewed-by: Christian Stenger <christian.stenger@qt.io>