aboutsummaryrefslogtreecommitdiffstats
path: root/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/nodeinstanceserver.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'share/qtcreator/qml/qmlpuppet/qml2puppet/instances/nodeinstanceserver.cpp')
-rw-r--r--share/qtcreator/qml/qmlpuppet/qml2puppet/instances/nodeinstanceserver.cpp34
1 files changed, 25 insertions, 9 deletions
diff --git a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/nodeinstanceserver.cpp b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/nodeinstanceserver.cpp
index 45d5fce845..183f036bf7 100644
--- a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/nodeinstanceserver.cpp
+++ b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/nodeinstanceserver.cpp
@@ -72,22 +72,23 @@
#include <requestmodelnodepreviewimagecommand.h>
#include <changelanguagecommand.h>
+#include <designersupportdelegate.h>
+#include <QAbstractAnimation>
#include <QDebug>
-#include <QQmlEngine>
-#include <QQmlApplicationEngine>
-#include <QFileSystemWatcher>
-#include <QUrl>
-#include <QSet>
#include <QDir>
-#include <QVariant>
+#include <QFileSystemWatcher>
#include <QMetaType>
+#include <QMutableVectorIterator>
+#include <QQmlApplicationEngine>
#include <QQmlComponent>
#include <QQmlContext>
-#include <qqmllist.h>
-#include <QAbstractAnimation>
+#include <QQmlEngine>
+#include <QQuickItemGrabResult>
#include <QQuickView>
#include <QSet>
-#include <designersupportdelegate.h>
+#include <QUrl>
+#include <QVariant>
+#include <qqmllist.h>
#include <algorithm>
@@ -1461,4 +1462,19 @@ void NodeInstanceServer::disableTimer()
m_timerMode = TimerMode::DisableTimer;
}
+void NodeInstanceServer::sheduleRootItemRender()
+{
+ QSharedPointer<QQuickItemGrabResult> result = m_rootNodeInstance.createGrabResult();
+ qint32 instanceId = m_rootNodeInstance.instanceId();
+
+ if (result) {
+ connect(result.data(), &QQuickItemGrabResult::ready, [this, result, instanceId] {
+ QVector<ImageContainer> imageVector;
+ ImageContainer container(instanceId, result->image(), instanceId);
+ imageVector.append(container);
+ nodeInstanceClient()->pixmapChanged(PixmapChangedCommand(imageVector));
+ });
+ }
+}
+
} // namespace QmlDesigner