From aa08da4143656203e146897609c5e89bb8f1f40b Mon Sep 17 00:00:00 2001 From: Marco Bubke Date: Mon, 8 Jul 2013 16:38:32 +0200 Subject: [PATCH] QmlDesigner: Prefix for puppet output Change-Id: If149ddb26e0e9852b6970ecac6f535499ea7b3af Reviewed-by: Thomas Hartmann --- .../instances/nodeinstanceserverproxy.cpp | 49 ++++++++++++++++--- .../instances/nodeinstanceserverproxy.h | 3 ++ 2 files changed, 46 insertions(+), 6 deletions(-) diff --git a/src/plugins/qmldesigner/designercore/instances/nodeinstanceserverproxy.cpp b/src/plugins/qmldesigner/designercore/instances/nodeinstanceserverproxy.cpp index 31ec3bc29f..0700c35d88 100644 --- a/src/plugins/qmldesigner/designercore/instances/nodeinstanceserverproxy.cpp +++ b/src/plugins/qmldesigner/designercore/instances/nodeinstanceserverproxy.cpp @@ -170,8 +170,10 @@ NodeInstanceServerProxy::NodeInstanceServerProxy(NodeInstanceView *nodeInstanceV connect(m_qmlPuppetEditorProcess.data(), SIGNAL(finished(int,QProcess::ExitStatus)), this, SLOT(processFinished(int,QProcess::ExitStatus))); connect(QCoreApplication::instance(), SIGNAL(aboutToQuit()), m_qmlPuppetEditorProcess.data(), SLOT(kill())); bool fowardQmlpuppetOutput = !qgetenv("FORWARD_QMLPUPPET_OUTPUT").isEmpty(); - if (fowardQmlpuppetOutput) - m_qmlPuppetEditorProcess->setProcessChannelMode(QProcess::ForwardedChannels); + if (fowardQmlpuppetOutput) { + m_qmlPuppetEditorProcess->setProcessChannelMode(QProcess::MergedChannels); + connect(m_qmlPuppetEditorProcess.data(), SIGNAL(readyRead()), this, SLOT(printEditorProcessOutput())); + } m_qmlPuppetEditorProcess->start(applicationPath, QStringList() << socketToken << "editormode" << "-graphicssystem raster"); if (runModus == NormalModus) { @@ -180,8 +182,10 @@ NodeInstanceServerProxy::NodeInstanceServerProxy(NodeInstanceView *nodeInstanceV m_qmlPuppetPreviewProcess->setObjectName("PreviewProcess"); connect(m_qmlPuppetPreviewProcess.data(), SIGNAL(finished(int,QProcess::ExitStatus)), this, SLOT(processFinished(int,QProcess::ExitStatus))); connect(QCoreApplication::instance(), SIGNAL(aboutToQuit()), m_qmlPuppetPreviewProcess.data(), SLOT(kill())); - if (fowardQmlpuppetOutput) - m_qmlPuppetPreviewProcess->setProcessChannelMode(QProcess::ForwardedChannels); + if (fowardQmlpuppetOutput) { + m_qmlPuppetPreviewProcess->setProcessChannelMode(QProcess::MergedChannels); + connect(m_qmlPuppetPreviewProcess.data(), SIGNAL(readyRead()), this, SLOT(printPreviewProcessOutput())); + } m_qmlPuppetPreviewProcess->start(applicationPath, QStringList() << socketToken << "previewmode" << "-graphicssystem raster"); m_qmlPuppetRenderProcess = new QProcess; @@ -189,8 +193,10 @@ NodeInstanceServerProxy::NodeInstanceServerProxy(NodeInstanceView *nodeInstanceV m_qmlPuppetRenderProcess->setObjectName("RenderProcess"); connect(m_qmlPuppetRenderProcess.data(), SIGNAL(finished(int,QProcess::ExitStatus)), this, SLOT(processFinished(int,QProcess::ExitStatus))); connect(QCoreApplication::instance(), SIGNAL(aboutToQuit()), m_qmlPuppetRenderProcess.data(), SLOT(kill())); - if (fowardQmlpuppetOutput) - m_qmlPuppetRenderProcess->setProcessChannelMode(QProcess::ForwardedChannels); + if (fowardQmlpuppetOutput) { + m_qmlPuppetRenderProcess->setProcessChannelMode(QProcess::MergedChannels); + connect(m_qmlPuppetRenderProcess.data(), SIGNAL(readyRead()), this, SLOT(printRenderProcessOutput())); + } m_qmlPuppetRenderProcess->start(applicationPath, QStringList() << socketToken << "rendermode" << "-graphicssystem raster"); } @@ -523,6 +529,37 @@ void NodeInstanceServerProxy::readThirdDataStream() } } +void NodeInstanceServerProxy::printEditorProcessOutput() +{ + while (m_qmlPuppetEditorProcess->canReadLine()) { + QByteArray line = m_qmlPuppetEditorProcess->readLine(); + line.chop(1); + qDebug().nospace() << "Editor Puppet: " << qPrintable(line); + } + qDebug() << "\n"; +} + +void NodeInstanceServerProxy::printPreviewProcessOutput() +{ + while (m_qmlPuppetPreviewProcess->canReadLine()) { + QByteArray line = m_qmlPuppetPreviewProcess->readLine(); + line.chop(1); + qDebug().nospace() << "Preview Puppet: " << qPrintable(line); + } + qDebug() << "\n"; +} + +void NodeInstanceServerProxy::printRenderProcessOutput() +{ + while (m_qmlPuppetRenderProcess->canReadLine()) { + QByteArray line = m_qmlPuppetRenderProcess->readLine(); + line.chop(1); + qDebug().nospace() << "Render Puppet: " << qPrintable(line); + } + + qDebug() << "\n"; +} + QString NodeInstanceServerProxy::qmlPuppetApplicationName() const { if (hasQtQuick2(m_nodeInstanceView.data())) diff --git a/src/plugins/qmldesigner/designercore/instances/nodeinstanceserverproxy.h b/src/plugins/qmldesigner/designercore/instances/nodeinstanceserverproxy.h index a8f0b44ff0..1f2d092d78 100644 --- a/src/plugins/qmldesigner/designercore/instances/nodeinstanceserverproxy.h +++ b/src/plugins/qmldesigner/designercore/instances/nodeinstanceserverproxy.h @@ -88,6 +88,9 @@ private slots: void readSecondDataStream(); void readThirdDataStream(); + void printEditorProcessOutput(); + void printPreviewProcessOutput(); + void printRenderProcessOutput(); private: QFile m_captureFileForTest; QWeakPointer m_localServer; -- GitLab