diff --git a/src/plugins/android/androidsdkdownloader.cpp b/src/plugins/android/androidsdkdownloader.cpp index eb52f78b431..3a646a2a63c 100644 --- a/src/plugins/android/androidsdkdownloader.cpp +++ b/src/plugins/android/androidsdkdownloader.cpp @@ -18,6 +18,7 @@ #include #include +using namespace Tasking; using namespace Utils; namespace { Q_LOGGING_CATEGORY(sdkDownloaderLog, "qtc.android.sdkDownloader", QtWarningMsg) } @@ -29,7 +30,9 @@ namespace Android::Internal { */ AndroidSdkDownloader::AndroidSdkDownloader() : m_androidConfig(AndroidConfigurations::currentConfig()) -{} +{ + connect(&m_taskTreeRunner, &TaskTreeRunner::done, this, [this] { m_progressDialog.reset(); }); +} AndroidSdkDownloader::~AndroidSdkDownloader() = default; @@ -99,11 +102,9 @@ void AndroidSdkDownloader::downloadAndExtractSdk() m_progressDialog->setAutoClose(false); connect(m_progressDialog.get(), &QProgressDialog::canceled, this, [this] { m_progressDialog.release()->deleteLater(); - m_taskTree.reset(); + m_taskTreeRunner.reset(); }); - using namespace Tasking; - Storage> storage; const auto onQuerySetup = [this](NetworkQuery &query) { @@ -187,12 +188,7 @@ void AndroidSdkDownloader::downloadAndExtractSdk() UnarchiverTask(onUnarchiveSetup, onUnarchiverDone) }; - m_taskTree.reset(new TaskTree(root)); - connect(m_taskTree.get(), &TaskTree::done, this, [this] { - m_taskTree.release()->deleteLater(); - m_progressDialog.reset(); - }); - m_taskTree->start(); + m_taskTreeRunner.start(root); } QString AndroidSdkDownloader::dialogTitle() diff --git a/src/plugins/android/androidsdkdownloader.h b/src/plugins/android/androidsdkdownloader.h index 7859f2b6a8e..f5ae1ff5a75 100644 --- a/src/plugins/android/androidsdkdownloader.h +++ b/src/plugins/android/androidsdkdownloader.h @@ -5,14 +5,12 @@ #include "androidconfigurations.h" -#include +#include QT_BEGIN_NAMESPACE class QProgressDialog; QT_END_NAMESPACE -namespace Tasking { class TaskTree; } - namespace Android::Internal { class AndroidSdkDownloader : public QObject @@ -35,7 +33,7 @@ private: AndroidConfig &m_androidConfig; std::unique_ptr m_progressDialog; - std::unique_ptr m_taskTree; + Tasking::TaskTreeRunner m_taskTreeRunner; }; } // namespace Android::Internal