diff options
author | Thomas Hartmann <thomas.hartmann@qt.io> | 2022-08-23 17:33:25 +0200 |
---|---|---|
committer | Thomas Hartmann <thomas.hartmann@qt.io> | 2022-08-24 17:58:23 +0000 |
commit | ae872359d00d746eaaa307c4d249ea271463f543 (patch) | |
tree | 6cbae3d36afc2713fd937a7efe0e3eb0e9d4f646 | |
parent | 8e65e2815c2dc13bc8e62199a34d24825df4f4db (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.cpp | 24 |
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)); |