From 97ac8ea219023d82fbc9bddf2633e9c170c9ed1a Mon Sep 17 00:00:00 2001 From: Jarek Kobus Date: Wed, 20 Nov 2024 15:52:37 +0100 Subject: [PATCH] QmlPreview: Inline LocalQmlPreviewSupport Task-number: QTCREATORBUG-29168 Change-Id: I93f17e165a714018375b3ec43b633d1a397c34dc Reviewed-by: hjk --- .../qmlpreview/qmlpreviewruncontrol.cpp | 33 ++++++++----------- 1 file changed, 13 insertions(+), 20 deletions(-) diff --git a/src/plugins/qmlpreview/qmlpreviewruncontrol.cpp b/src/plugins/qmlpreview/qmlpreviewruncontrol.cpp index 9b5001a27c3..bef05103e36 100644 --- a/src/plugins/qmlpreview/qmlpreviewruncontrol.cpp +++ b/src/plugins/qmlpreview/qmlpreviewruncontrol.cpp @@ -174,13 +174,12 @@ QmlPreviewRunWorkerFactory::QmlPreviewRunWorkerFactory(QmlPreviewPlugin *plugin, addSupportedRunMode(Constants::QML_PREVIEW_RUNNER); } -class LocalQmlPreviewSupport final : public SimpleTargetRunner +LocalQmlPreviewSupportFactory::LocalQmlPreviewSupportFactory() { -public: - LocalQmlPreviewSupport(RunControl *runControl) - : SimpleTargetRunner(runControl) - { - setId("LocalQmlPreviewSupport"); + setId(ProjectExplorer::Constants::QML_PREVIEW_RUN_FACTORY); + setProducer([](RunControl *runControl) { + auto worker = new SimpleTargetRunner(runControl); + worker->setId("LocalQmlPreviewSupport"); runControl->setQmlChannel(Utils::urlFromLocalSocket()); @@ -188,11 +187,11 @@ public: RunWorker *preview = runControl->createWorker(ProjectExplorer::Constants::QML_PREVIEW_RUNNER); - addStopDependency(preview); - addStartDependency(preview); + worker->addStopDependency(preview); + worker->addStartDependency(preview); - setStartModifier([this, runControl] { - CommandLine cmd = commandLine(); + worker->setStartModifier([worker, runControl] { + CommandLine cmd = worker->commandLine(); if (const auto aspect = runControl->aspectData()) { const auto qmlBuildSystem = qobject_cast( @@ -214,17 +213,11 @@ public: } cmd.addArg(qmlDebugLocalArguments(QmlPreviewServices, runControl->qmlChannel().path())); - setCommandLine(cmd); - - forceRunOnHost(); + worker->setCommandLine(cmd); + worker->forceRunOnHost(); }); - } -}; - -LocalQmlPreviewSupportFactory::LocalQmlPreviewSupportFactory() -{ - setId(ProjectExplorer::Constants::QML_PREVIEW_RUN_FACTORY); - setProduct(); + return worker; + }); addSupportedRunMode(ProjectExplorer::Constants::QML_PREVIEW_RUN_MODE); addSupportedDeviceType(ProjectExplorer::Constants::DESKTOP_DEVICE_TYPE);