aboutsummaryrefslogtreecommitdiffstats
path: root/share/qtcreator/qml/qmlpuppet/qml2puppet
diff options
context:
space:
mode:
authorMarco Bubke <marco.bubke@qt.io>2020-11-09 16:35:00 +0100
committerMarco Bubke <marco.bubke@qt.io>2020-11-10 14:35:12 +0000
commit2a2dfbec7373c76bb4688e6500142fc17c4d6578 (patch)
tree4f8242f1157245dc306e03db31d66dcae1e2dba9 /share/qtcreator/qml/qmlpuppet/qml2puppet
parent2ee63af4cd70bdb98296c636ffb71efacd3c2308 (diff)
QmlDesigner: Add states to ImageCache
Task-number: QDS-2998 Change-Id: I8e65881181ae1010ef1f8bab92fa71d92c961bcd Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Diffstat (limited to 'share/qtcreator/qml/qmlpuppet/qml2puppet')
-rw-r--r--share/qtcreator/qml/qmlpuppet/qml2puppet/instances/nodeinstanceserver.cpp43
-rw-r--r--share/qtcreator/qml/qmlpuppet/qml2puppet/instances/nodeinstanceserver.h1
-rw-r--r--share/qtcreator/qml/qmlpuppet/qml2puppet/instances/qt5informationnodeinstanceserver.cpp5
-rw-r--r--share/qtcreator/qml/qmlpuppet/qml2puppet/instances/qt5nodeinstanceserver.cpp9
-rw-r--r--share/qtcreator/qml/qmlpuppet/qml2puppet/instances/qt5previewnodeinstanceserver.cpp2
-rw-r--r--share/qtcreator/qml/qmlpuppet/qml2puppet/instances/qt5rendernodeinstanceserver.cpp2
6 files changed, 33 insertions, 29 deletions
diff --git a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/nodeinstanceserver.cpp b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/nodeinstanceserver.cpp
index 39add144fb..552d323247 100644
--- a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/nodeinstanceserver.cpp
+++ b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/nodeinstanceserver.cpp
@@ -318,12 +318,13 @@ void NodeInstanceServer::stopRenderTimer()
void NodeInstanceServer::createScene(const CreateSceneCommand &command)
{
- setTranslationLanguage(command.language());
+ setTranslationLanguage(command.language);
initializeView();
Internal::QmlPrivateGate::stopUnifiedTimer();
setupScene(command);
+ setupState(command.stateInstanceId);
refreshBindings();
startRenderTimer();
}
@@ -399,15 +400,7 @@ void NodeInstanceServer::reparentInstances(const ReparentInstancesCommand &comma
void NodeInstanceServer::changeState(const ChangeStateCommand &command)
{
- if (hasInstanceForId(command.stateInstanceId())) {
- if (activeStateInstance().isValid())
- activeStateInstance().deactivateState();
- ServerNodeInstance instance = instanceForId(command.stateInstanceId());
- instance.activateState();
- } else {
- if (activeStateInstance().isValid())
- activeStateInstance().deactivateState();
- }
+ setupState(command.stateInstanceId());
startRenderTimer();
}
@@ -569,38 +562,37 @@ void NodeInstanceServer::setupDefaultDummyData()
QList<ServerNodeInstance> NodeInstanceServer::setupInstances(const CreateSceneCommand &command)
{
- QList<ServerNodeInstance> instanceList = createInstances(command.instances());
+ QList<ServerNodeInstance> instanceList = createInstances(command.instances);
- foreach (const IdContainer &container, command.ids()) {
+ for (const IdContainer &container : std::as_const(command.ids)) {
if (hasInstanceForId(container.instanceId()))
instanceForId(container.instanceId()).setId(container.id());
}
- foreach (const PropertyValueContainer &container, command.valueChanges()) {
+ for (const PropertyValueContainer &container : std::as_const(command.valueChanges)) {
if (container.isDynamic())
setInstancePropertyVariant(container);
}
- foreach (const PropertyValueContainer &container, command.valueChanges()) {
+ for (const PropertyValueContainer &container : std::as_const(command.valueChanges)) {
if (!container.isDynamic())
setInstancePropertyVariant(container);
}
- reparentInstances(command.reparentInstances());
+ reparentInstances(command.reparentInstances);
- foreach (const PropertyBindingContainer &container, command.bindingChanges()) {
+ for (const PropertyBindingContainer &container : std::as_const(command.bindingChanges)) {
if (container.isDynamic())
setInstancePropertyBinding(container);
}
- foreach (const PropertyBindingContainer &container, command.bindingChanges()) {
+ for (const PropertyBindingContainer &container : std::as_const(command.bindingChanges)) {
if (!container.isDynamic())
setInstancePropertyBinding(container);
}
- foreach (const PropertyValueContainer &container, command.auxiliaryChanges()) {
+ for (const PropertyValueContainer &container : std::as_const(command.auxiliaryChanges))
setInstanceAuxiliaryData(container);
- }
for (int i = instanceList.size(); --i >= 0; )
instanceList[i].doComponentComplete();
@@ -1498,4 +1490,17 @@ void NodeInstanceServer::handleInstanceHidden(const ServerNodeInstance &/*instan
{
}
+void NodeInstanceServer::setupState(qint32 stateInstanceId)
+{
+ if (hasInstanceForId(stateInstanceId)) {
+ if (activeStateInstance().isValid())
+ activeStateInstance().deactivateState();
+ ServerNodeInstance instance = instanceForId(stateInstanceId);
+ instance.activateState();
+ } else {
+ if (activeStateInstance().isValid())
+ activeStateInstance().deactivateState();
+ }
+}
+
} // namespace QmlDesigner
diff --git a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/nodeinstanceserver.h b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/nodeinstanceserver.h
index 1d1533884d..021a2bd6d0 100644
--- a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/nodeinstanceserver.h
+++ b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/nodeinstanceserver.h
@@ -289,6 +289,7 @@ protected:
static QList<QObject*> allSubObjectsForObject(QObject *object);
virtual void resizeCanvasSizeToRootItemSize() = 0;
+ void setupState(qint32 stateInstanceId);
private:
void setupOnlyWorkingImports(const QStringList &workingImportStatementList);
diff --git a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/qt5informationnodeinstanceserver.cpp b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/qt5informationnodeinstanceserver.cpp
index 99dbe5ffe1..07f2398151 100644
--- a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/qt5informationnodeinstanceserver.cpp
+++ b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/qt5informationnodeinstanceserver.cpp
@@ -1316,8 +1316,7 @@ void Qt5InformationNodeInstanceServer::createScene(const CreateSceneCommand &com
Qt5NodeInstanceServer::createScene(command);
QList<ServerNodeInstance> instanceList;
- const auto instances = command.instances();
- for (const InstanceContainer &container : instances) {
+ for (const InstanceContainer &container : std::as_const(command.instances)) {
if (hasInstanceForId(container.instanceId())) {
ServerNodeInstance instance = instanceForId(container.instanceId());
if (instance.isValid())
@@ -1331,7 +1330,7 @@ void Qt5InformationNodeInstanceServer::createScene(const CreateSceneCommand &com
nodeInstanceClient()->componentCompleted(createComponentCompletedCommand(instanceList));
if (isQuick3DMode())
- setup3DEditView(instanceList, command.edit3dToolStates());
+ setup3DEditView(instanceList, command.edit3dToolStates);
QObject::connect(&m_renderModelNodeImageViewTimer, &QTimer::timeout,
this, &Qt5InformationNodeInstanceServer::doRenderModelNodeImageView);
diff --git a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/qt5nodeinstanceserver.cpp b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/qt5nodeinstanceserver.cpp
index 3cc541545e..8ea68bd231 100644
--- a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/qt5nodeinstanceserver.cpp
+++ b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/qt5nodeinstanceserver.cpp
@@ -116,11 +116,10 @@ void Qt5NodeInstanceServer::resetAllItems()
void Qt5NodeInstanceServer::setupScene(const CreateSceneCommand &command)
{
-
- setupMockupTypes(command.mockupTypes());
- setupFileUrl(command.fileUrl());
- setupImports(command.imports());
- setupDummyData(command.fileUrl());
+ setupMockupTypes(command.mockupTypes);
+ setupFileUrl(command.fileUrl);
+ setupImports(command.imports);
+ setupDummyData(command.fileUrl);
setupInstances(command);
quickView()->resize(rootNodeInstance().boundingRect().size().toSize());
diff --git a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/qt5previewnodeinstanceserver.cpp b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/qt5previewnodeinstanceserver.cpp
index 810c8f0dcf..ae167ad6ca 100644
--- a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/qt5previewnodeinstanceserver.cpp
+++ b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/qt5previewnodeinstanceserver.cpp
@@ -46,7 +46,7 @@ Qt5PreviewNodeInstanceServer::Qt5PreviewNodeInstanceServer(NodeInstanceClientInt
void Qt5PreviewNodeInstanceServer::createScene(const CreateSceneCommand &command)
{
- setTranslationLanguage(command.language());
+ setTranslationLanguage(command.language);
initializeView();
setupScene(command);
startRenderTimer();
diff --git a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/qt5rendernodeinstanceserver.cpp b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/qt5rendernodeinstanceserver.cpp
index 9722280dfa..4a45c626be 100644
--- a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/qt5rendernodeinstanceserver.cpp
+++ b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/qt5rendernodeinstanceserver.cpp
@@ -137,7 +137,7 @@ void Qt5RenderNodeInstanceServer::createScene(const CreateSceneCommand &command)
Qt5NodeInstanceServer::createScene(command);
QList<ServerNodeInstance> instanceList;
- foreach (const InstanceContainer &container, command.instances()) {
+ for (const InstanceContainer &container : std::as_const(command.instances)) {
if (hasInstanceForId(container.instanceId())) {
ServerNodeInstance instance = instanceForId(container.instanceId());
if (instance.isValid()) {