diff options
author | hjk <hjk@theqtcompany.com> | 2016-01-19 17:25:18 +0100 |
---|---|---|
committer | hjk <hjk@theqtcompany.com> | 2016-01-20 16:08:07 +0000 |
commit | 5dad96e3b71bb852f47477382ff0f9ac2f40b646 (patch) | |
tree | 4299a151d4aa4d3cfdf9f951be0b44414d0b623e /src/plugins/qmlprofiler/qmlprofilertool.cpp | |
parent | e214eda80ef22abee1c9b1955289a1af9f7ff3bf (diff) | |
download | qt-creator-5dad96e3b71bb852f47477382ff0f9ac2f40b646.tar.gz |
QmlProfiler: Adapt QmlProfilerRunControlFactory to Analyzer changes
Change-Id: I8047cdb3fc65df2139c1a5770218c48e83ef5f5a
Reviewed-by: Ulf Hermann <ulf.hermann@theqtcompany.com>
Diffstat (limited to 'src/plugins/qmlprofiler/qmlprofilertool.cpp')
-rw-r--r-- | src/plugins/qmlprofiler/qmlprofilertool.cpp | 43 |
1 files changed, 23 insertions, 20 deletions
diff --git a/src/plugins/qmlprofiler/qmlprofilertool.cpp b/src/plugins/qmlprofiler/qmlprofilertool.cpp index 742d219502..58da7cbc3d 100644 --- a/src/plugins/qmlprofiler/qmlprofilertool.cpp +++ b/src/plugins/qmlprofiler/qmlprofilertool.cpp @@ -201,8 +201,7 @@ static QString sysroot(RunConfiguration *runConfig) return QString(); } -AnalyzerRunControl *QmlProfilerTool::createRunControl(const AnalyzerStartParameters &sp, - RunConfiguration *runConfiguration) +AnalyzerRunControl *QmlProfilerTool::createRunControl(RunConfiguration *runConfiguration) { QmlProfilerRunConfigurationAspect *aspect = static_cast<QmlProfilerRunConfigurationAspect *>( runConfiguration->extraAspect(Constants::SETTINGS)); @@ -215,22 +214,25 @@ AnalyzerRunControl *QmlProfilerTool::createRunControl(const AnalyzerStartParamet settings->flushInterval() : 0); d->m_profilerConnections->setAggregateTraces(settings->aggregateTraces()); - QmlProfilerRunControl *engine = new QmlProfilerRunControl(runConfiguration); - engine->setRunnable(AnalyzerRunnable(sp)); - engine->setConnection(AnalyzerConnection(sp)); + return new QmlProfilerRunControl(runConfiguration, this); +} - engine->registerProfilerStateManager(d->m_profilerState); +void QmlProfilerTool::finalizeRunControl(QmlProfilerRunControl *runControl) +{ + runControl->registerProfilerStateManager(d->m_profilerState); // FIXME: Check that there's something sensible in sp.connParams - if (!sp.analyzerSocket.isEmpty()) - d->m_profilerConnections->setLocalSocket(sp.analyzerSocket); + auto &connection = runControl->connection(); + if (!connection.analyzerSocket.isEmpty()) + d->m_profilerConnections->setLocalSocket(connection.analyzerSocket); else - d->m_profilerConnections->setTcpConnection(sp.analyzerHost, sp.analyzerPort); + d->m_profilerConnections->setTcpConnection(connection.analyzerHost, connection.analyzerPort); // // Initialize m_projectFinder // + RunConfiguration *runConfiguration = runControl->runConfiguration(); QString projectDirectory; if (runConfiguration) { Project *project = runConfiguration->target()->project(); @@ -239,13 +241,11 @@ AnalyzerRunControl *QmlProfilerTool::createRunControl(const AnalyzerStartParamet populateFileFinder(projectDirectory, sysroot(runConfiguration)); - if (sp.analyzerSocket.isEmpty()) - connect(engine, &QmlProfilerRunControl::processRunning, + if (connection.analyzerSocket.isEmpty()) + connect(runControl, &QmlProfilerRunControl::processRunning, d->m_profilerConnections, &QmlProfilerClientManager::connectTcpClient); connect(d->m_profilerConnections, &QmlProfilerClientManager::connectionFailed, - engine, &QmlProfilerRunControl::cancelProcess); - - return engine; + runControl, &QmlProfilerRunControl::cancelProcess); } QWidget *QmlProfilerTool::createWidgets() @@ -516,17 +516,20 @@ void QmlProfilerTool::startRemoteTool() settings->setValue(QLatin1String("AnalyzerQmlAttachDialog/port"), port); } - AnalyzerStartParameters sp; + AnalyzerConnection connection; IDevice::ConstPtr device = DeviceKitInformation::device(kit); if (device) { - sp.connParams = device->sshParameters(); - sp.analyzerHost = device->qmlProfilerHost(); + connection.connParams = device->sshParameters(); + connection.analyzerHost = device->qmlProfilerHost(); } - sp.analyzerPort = port; + connection.analyzerPort = port; + + auto runControl = qobject_cast<QmlProfilerRunControl *>(createRunControl(0)); + runControl->setConnection(connection); + runControl->finalizeSetup(); - AnalyzerRunControl *rc = createRunControl(sp, 0); - ProjectExplorerPlugin::startRunControl(rc, ProjectExplorer::Constants::QML_PROFILER_RUN_MODE); + ProjectExplorerPlugin::startRunControl(runControl, ProjectExplorer::Constants::QML_PROFILER_RUN_MODE); } void QmlProfilerTool::logState(const QString &msg) |