From fa48cf8a2035552ee5d4114a53b020fb25c9b68e Mon Sep 17 00:00:00 2001 From: Thomas Hartmann <Thomas.Hartmann@nokia.com> Date: Thu, 9 Jun 2011 16:53:56 +0200 Subject: [PATCH] QmlDesigner.nodeInstanceView: adding parameter pathToQt The NodeInstanceView is now informed about the build pathToQt. Change-Id: I728c9c356354ccf73599950c1c0bf4a96bd0a628 Reviewed-on: http://codereview.qt.nokia.com/437 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Marco Bubke <marco.bubke@nokia.com> --- .../integration/designdocumentcontroller.cpp | 6 ++++++ .../designercore/include/nodeinstanceview.h | 3 +++ .../designercore/instances/nodeinstanceserverproxy.cpp | 2 +- .../designercore/instances/nodeinstanceserverproxy.h | 2 +- .../designercore/instances/nodeinstanceview.cpp | 10 ++++++++-- 5 files changed, 19 insertions(+), 4 deletions(-) diff --git a/src/plugins/qmldesigner/components/integration/designdocumentcontroller.cpp b/src/plugins/qmldesigner/components/integration/designdocumentcontroller.cpp index 65f0a9a12f2..4378596940e 100644 --- a/src/plugins/qmldesigner/components/integration/designdocumentcontroller.cpp +++ b/src/plugins/qmldesigner/components/integration/designdocumentcontroller.cpp @@ -437,6 +437,7 @@ void DesignDocumentController::loadCurrentModel() Q_ASSERT(m_d->model); m_d->model->setMasterModel(m_d->masterModel.data()); + m_d->nodeInstanceView->setPathToQt(pathToQt()); m_d->model->attachView(m_d->nodeInstanceView.data()); m_d->model->attachView(m_d->navigator.data()); m_d->itemLibraryView->widget()->setResourcePath(QFileInfo(m_d->fileName).absolutePath()); @@ -822,8 +823,13 @@ void DesignDocumentController::activeQtVersionChanged() return; } + if (m_d->qt_versionId == newQtVersion->uniqueId()) + return; + m_d->qt_versionId = newQtVersion->uniqueId(); + if (m_d->nodeInstanceView) + m_d->nodeInstanceView->setPathToQt(pathToQt()); } #ifdef ENABLE_TEXT_VIEW diff --git a/src/plugins/qmldesigner/designercore/include/nodeinstanceview.h b/src/plugins/qmldesigner/designercore/include/nodeinstanceview.h index d006705fc40..0bbfa742259 100644 --- a/src/plugins/qmldesigner/designercore/include/nodeinstanceview.h +++ b/src/plugins/qmldesigner/designercore/include/nodeinstanceview.h @@ -138,6 +138,8 @@ public: QImage statePreviewImage(const ModelNode &stateNode) const; + void setPathToQt(const QString &pathToQt); + signals: void qmlPuppetCrashed(); @@ -195,6 +197,7 @@ private: //variables QImage m_baseStatePreviewImage; QTime m_lastCrashTime; NodeInstanceServerInterface::RunModus m_runModus; + QString m_pathToQt; }; } // namespace ProxyNodeInstanceView diff --git a/src/plugins/qmldesigner/designercore/instances/nodeinstanceserverproxy.cpp b/src/plugins/qmldesigner/designercore/instances/nodeinstanceserverproxy.cpp index 411c0c1d647..76f82d6a074 100644 --- a/src/plugins/qmldesigner/designercore/instances/nodeinstanceserverproxy.cpp +++ b/src/plugins/qmldesigner/designercore/instances/nodeinstanceserverproxy.cpp @@ -88,7 +88,7 @@ static bool hasQtQuick1(NodeInstanceView *nodeInstanceView) return false; } -NodeInstanceServerProxy::NodeInstanceServerProxy(NodeInstanceView *nodeInstanceView, RunModus runModus) +NodeInstanceServerProxy::NodeInstanceServerProxy(NodeInstanceView *nodeInstanceView, RunModus runModus, const QString &pathToQt) : NodeInstanceServerInterface(nodeInstanceView), m_localServer(new QLocalServer(this)), m_nodeInstanceView(nodeInstanceView), diff --git a/src/plugins/qmldesigner/designercore/instances/nodeinstanceserverproxy.h b/src/plugins/qmldesigner/designercore/instances/nodeinstanceserverproxy.h index 42b29db73e8..2ed94bdf8a8 100644 --- a/src/plugins/qmldesigner/designercore/instances/nodeinstanceserverproxy.h +++ b/src/plugins/qmldesigner/designercore/instances/nodeinstanceserverproxy.h @@ -55,7 +55,7 @@ class NodeInstanceServerProxy : public NodeInstanceServerInterface { Q_OBJECT public: - explicit NodeInstanceServerProxy(NodeInstanceView *nodeInstanceView, RunModus runModus = NormalModus); + explicit NodeInstanceServerProxy(NodeInstanceView *nodeInstanceView, RunModus runModus = NormalModus, const QString &pathToQt = QString()); ~NodeInstanceServerProxy(); void createInstances(const CreateInstancesCommand &command); void changeFileUrl(const ChangeFileUrlCommand &command); diff --git a/src/plugins/qmldesigner/designercore/instances/nodeinstanceview.cpp b/src/plugins/qmldesigner/designercore/instances/nodeinstanceview.cpp index 472a179c947..eeb80734213 100644 --- a/src/plugins/qmldesigner/designercore/instances/nodeinstanceview.cpp +++ b/src/plugins/qmldesigner/designercore/instances/nodeinstanceview.cpp @@ -164,7 +164,7 @@ bool isSkippedNode(const ModelNode &node) void NodeInstanceView::modelAttached(Model *model) { AbstractView::modelAttached(model); - m_nodeInstanceServer = new NodeInstanceServerProxy(this, m_runModus); + m_nodeInstanceServer = new NodeInstanceServerProxy(this, m_runModus, m_pathToQt); m_lastCrashTime.start(); connect(m_nodeInstanceServer.data(), SIGNAL(processCrashed()), this, SLOT(handleChrash())); @@ -203,7 +203,7 @@ void NodeInstanceView::restartProcess() if (model()) { delete nodeInstanceServer(); - m_nodeInstanceServer = new NodeInstanceServerProxy(this, m_runModus); + m_nodeInstanceServer = new NodeInstanceServerProxy(this, m_runModus, m_pathToQt); connect(m_nodeInstanceServer.data(), SIGNAL(processCrashed()), this, SLOT(handleChrash())); if (!isSkippedRootNode(rootModelNode())) @@ -1076,6 +1076,12 @@ QImage NodeInstanceView::statePreviewImage(const ModelNode &stateNode) const return m_statePreviewImage.value(stateNode); } +void NodeInstanceView::setPathToQt(const QString &pathToQt) +{ + m_pathToQt = pathToQt; + restartProcess(); +} + void NodeInstanceView::statePreviewImagesChanged(const StatePreviewImageChangedCommand &command) { if (!model()) -- GitLab