aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas Hartmann <thomas.hartmann@qt.io>2022-08-23 17:33:25 +0200
committerThomas Hartmann <thomas.hartmann@qt.io>2022-08-24 17:58:23 +0000
commitae872359d00d746eaaa307c4d249ea271463f543 (patch)
tree6cbae3d36afc2713fd937a7efe0e3eb0e9d4f646
parent8e65e2815c2dc13bc8e62199a34d24825df4f4db (diff)
QmlDesigner: Render state previews for StateGroup
Render previews for all state groups in the document. Change-Id: I89d9c43a53eb3d9844b863278395fd9098a07772 Reviewed-by: <github-actions-qt-creator@cristianadam.eu> Reviewed-by: Henning Gründl <henning.gruendl@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
-rw-r--r--share/qtcreator/qml/qmlpuppet/qml2puppet/instances/qt5previewnodeinstanceserver.cpp24
1 files changed, 17 insertions, 7 deletions
diff --git a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/qt5previewnodeinstanceserver.cpp b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/qt5previewnodeinstanceserver.cpp
index f61ba1a342..80233e65ff 100644
--- a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/qt5previewnodeinstanceserver.cpp
+++ b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/qt5previewnodeinstanceserver.cpp
@@ -77,13 +77,23 @@ void Qt5PreviewNodeInstanceServer::collectItemChangesAndSendChangeCommands()
QVector<ImageContainer> imageContainerVector;
imageContainerVector.append(ImageContainer(0, renderPreviewImage(), -1));
- foreach (ServerNodeInstance instance, rootNodeInstance().stateInstances()) {
- instance.activateState();
- QImage previewImage = renderPreviewImage();
- if (!previewImage.isNull())
- imageContainerVector.append(ImageContainer(instance.instanceId(), renderPreviewImage(), instance.instanceId()));
- instance.deactivateState();
- }
+ QList<ServerNodeInstance> stateInstances = rootNodeInstance().stateInstances();
+
+ const QList<ServerNodeInstance> groupInstances = allGroupStateInstances();
+
+ for (ServerNodeInstance instance : groupInstances) {
+ stateInstances.append(instance.stateInstances());
+ }
+
+ for (ServerNodeInstance instance : qAsConst(stateInstances)) {
+ instance.activateState();
+ QImage previewImage = renderPreviewImage();
+ if (!previewImage.isNull())
+ imageContainerVector.append(ImageContainer(instance.instanceId(),
+ renderPreviewImage(),
+ instance.instanceId()));
+ instance.deactivateState();
+ }
nodeInstanceClient()->statePreviewImagesChanged(
StatePreviewImageChangedCommand(imageContainerVector));