From 02be4ac6131dc460378e38655eee78bfa32c5ab9 Mon Sep 17 00:00:00 2001 From: Jarek Kobus Date: Sat, 13 Jan 2024 19:06:55 +0100 Subject: [PATCH] QnxDeployQtLibrariesDialog: Reuse TaskTreeRunner Change-Id: Ic64bd6821991ee594e48b4fa325de262a9764784 Reviewed-by: hjk Reviewed-by: --- .../qnx/qnxdeployqtlibrariesdialog.cpp | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/src/plugins/qnx/qnxdeployqtlibrariesdialog.cpp b/src/plugins/qnx/qnxdeployqtlibrariesdialog.cpp index cb428411d63..a134d25615f 100644 --- a/src/plugins/qnx/qnxdeployqtlibrariesdialog.cpp +++ b/src/plugins/qnx/qnxdeployqtlibrariesdialog.cpp @@ -13,6 +13,8 @@ #include +#include + #include #include #include @@ -95,7 +97,7 @@ private: enum class CheckResult { RemoveDir, SkipRemoveDir, Abort }; CheckResult m_checkResult = CheckResult::Abort; mutable QList m_deployableFiles; - std::unique_ptr m_taskTree; + TaskTreeRunner m_taskTreeRunner; }; QList collectFilesToUpload(const DeployableFile &deployable) @@ -241,7 +243,7 @@ Group QnxDeployQtLibrariesDialogPrivate::deployRecipe() void QnxDeployQtLibrariesDialogPrivate::start() { QTC_ASSERT(m_device, return); - QTC_ASSERT(!m_taskTree, return); + QTC_ASSERT(!m_taskTreeRunner.isRunning(), return); if (m_remoteDirectory->text().isEmpty()) { QMessageBox::warning(q, q->windowTitle(), Tr::tr("Please input a remote directory to deploy to.")); @@ -260,19 +262,14 @@ void QnxDeployQtLibrariesDialogPrivate::start() m_deployableFiles = gatherFiles(); m_deployProgress->setRange(0, m_deployableFiles.count()); - m_taskTree.reset(new TaskTree(deployRecipe())); - connect(m_taskTree.get(), &TaskTree::done, this, [this] { - m_taskTree.release()->deleteLater(); - handleUploadFinished(); - }); - m_taskTree->start(); + m_taskTreeRunner.start(deployRecipe()); } void QnxDeployQtLibrariesDialogPrivate::stop() { - if (!m_taskTree) + if (!m_taskTreeRunner.isRunning()) return; - m_taskTree.reset(); + m_taskTreeRunner.reset(); handleUploadFinished(); } @@ -326,6 +323,8 @@ QnxDeployQtLibrariesDialogPrivate::QnxDeployQtLibrariesDialogPrivate( this, &QnxDeployQtLibrariesDialogPrivate::start); connect(m_closeButton, &QAbstractButton::clicked, q, &QWidget::close); + connect(&m_taskTreeRunner, &TaskTreeRunner::done, + this, &QnxDeployQtLibrariesDialogPrivate::handleUploadFinished); } QnxDeployQtLibrariesDialog::~QnxDeployQtLibrariesDialog()