From 428d82c6bc0a679e4ed2d2891868b9f0397aa3e8 Mon Sep 17 00:00:00 2001 From: Marco Bubke Date: Thu, 13 Aug 2020 11:24:24 +0200 Subject: [PATCH] QmlDesigner: Reactivate stream capturing Change-Id: I041392e490bb4e104e917f4164d7d82bae03c2d8 Reviewed-by: Thomas Hartmann --- .../instances/capturingconnectionmanager.cpp | 20 ++++++++++++++++--- .../instances/capturingconnectionmanager.h | 4 +++- .../designercore/model/viewmanager.cpp | 7 +++++-- 3 files changed, 25 insertions(+), 6 deletions(-) diff --git a/src/plugins/qmldesigner/designercore/instances/capturingconnectionmanager.cpp b/src/plugins/qmldesigner/designercore/instances/capturingconnectionmanager.cpp index 4be52a327c7..a47e69bf253 100644 --- a/src/plugins/qmldesigner/designercore/instances/capturingconnectionmanager.cpp +++ b/src/plugins/qmldesigner/designercore/instances/capturingconnectionmanager.cpp @@ -42,10 +42,13 @@ void CapturingConnectionManager::setUp(NodeInstanceServerProxy *nodeInstanceServ int indexOfCapturePuppetStream = QCoreApplication::arguments().indexOf( "-capture-puppet-stream"); if (indexOfCapturePuppetStream > 0) { - m_captureFileForTest.setFileName( - QCoreApplication::arguments().at(indexOfCapturePuppetStream + 1)); + const QString filePath = QCoreApplication::arguments().at(indexOfCapturePuppetStream + 1); + m_captureFileForTest.setFileName(filePath); bool isOpen = m_captureFileForTest.open(QIODevice::WriteOnly); - qDebug() << "file is open: " << isOpen; + if (isOpen) + qDebug() << "capture file is open:" << filePath; + else + qDebug() << "capture file could not be opened!"; } } @@ -62,4 +65,15 @@ void CapturingConnectionManager::processFinished(int exitCode, QProcess::ExitSta InteractiveConnectionManager::processFinished(exitCode, exitStatus); } +void CapturingConnectionManager::writeCommand(const QVariant &command) +{ + InteractiveConnectionManager::writeCommand(command); + + if (m_captureFileForTest.isWritable()) { + qDebug() << "command name: " << QMetaType(command.userType()).name(); + writeCommandToIODevice(command, &m_captureFileForTest, m_writeCommandCounter); + qDebug() << "\tcatpure file offset: " << m_captureFileForTest.pos(); + } +} + } // namespace QmlDesigner diff --git a/src/plugins/qmldesigner/designercore/instances/capturingconnectionmanager.h b/src/plugins/qmldesigner/designercore/instances/capturingconnectionmanager.h index de63da87fcf..1bedef440b3 100644 --- a/src/plugins/qmldesigner/designercore/instances/capturingconnectionmanager.h +++ b/src/plugins/qmldesigner/designercore/instances/capturingconnectionmanager.h @@ -29,7 +29,7 @@ namespace QmlDesigner { -class CapturingConnectionManager : public InteractiveConnectionManager +class QMLDESIGNERCORE_EXPORT CapturingConnectionManager : public InteractiveConnectionManager { public: void setUp(NodeInstanceServerProxy *nodeInstanceServerProxy, @@ -38,6 +38,8 @@ public: void processFinished(int exitCode, QProcess::ExitStatus exitStatus) override; + void writeCommand(const QVariant &command) override; + private: QFile m_captureFileForTest; }; diff --git a/src/plugins/qmldesigner/designercore/model/viewmanager.cpp b/src/plugins/qmldesigner/designercore/model/viewmanager.cpp index c3946a53789..34a2d4e4cfc 100644 --- a/src/plugins/qmldesigner/designercore/model/viewmanager.cpp +++ b/src/plugins/qmldesigner/designercore/model/viewmanager.cpp @@ -28,6 +28,7 @@ #ifndef QMLDESIGNER_TEST #include +#include #include #include #include @@ -37,7 +38,6 @@ #include #include #include -#include #include #include #include @@ -61,10 +61,13 @@ class ViewManagerData { public: InteractiveConnectionManager connectionManager; + CapturingConnectionManager capturingConnectionManager; QmlModelState savedState; Internal::DebugView debugView; DesignerActionManagerView designerActionManagerView; - NodeInstanceView nodeInstanceView{connectionManager}; + NodeInstanceView nodeInstanceView{ + QCoreApplication::arguments().contains("-capture-puppet-stream") ? capturingConnectionManager + : connectionManager}; ComponentView componentView; Edit3DView edit3DView; FormEditorView formEditorView;