summaryrefslogtreecommitdiff
path: root/src/plugins/qmlprofiler/qmlprofilertool.cpp
diff options
context:
space:
mode:
authorhjk <hjk@theqtcompany.com>2016-01-19 17:25:18 +0100
committerhjk <hjk@theqtcompany.com>2016-01-20 16:08:07 +0000
commit5dad96e3b71bb852f47477382ff0f9ac2f40b646 (patch)
tree4299a151d4aa4d3cfdf9f951be0b44414d0b623e /src/plugins/qmlprofiler/qmlprofilertool.cpp
parente214eda80ef22abee1c9b1955289a1af9f7ff3bf (diff)
downloadqt-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.cpp43
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)