mirror of
https://gitee.com/spark-store-project/spark-store
synced 2025-09-08 04:12:21 +08:00
commit
0001df153b
@ -5,6 +5,8 @@
|
|||||||
#include <QDebug>
|
#include <QDebug>
|
||||||
#include <QtConcurrent>
|
#include <QtConcurrent>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
DownloadListWidget::DownloadListWidget(QWidget *parent) : DBlurEffectWidget(parent),
|
DownloadListWidget::DownloadListWidget(QWidget *parent) : DBlurEffectWidget(parent),
|
||||||
ui(new Ui::DownloadListWidget)
|
ui(new Ui::DownloadListWidget)
|
||||||
{
|
{
|
||||||
@ -58,7 +60,7 @@ DownloadListWidget::~DownloadListWidget()
|
|||||||
{
|
{
|
||||||
downloadController->disconnect();
|
downloadController->disconnect();
|
||||||
downloadController->stopDownload();
|
downloadController->stopDownload();
|
||||||
downloadController->deleteLater();
|
// 这里没有释放 downloadController,使用懒汉式单例
|
||||||
}
|
}
|
||||||
|
|
||||||
clearItem();
|
clearItem();
|
||||||
@ -116,13 +118,20 @@ void DownloadListWidget::startRequest(QUrl url, QString fileName)
|
|||||||
isdownload = true;
|
isdownload = true;
|
||||||
downloaditemlist[allDownload - 1]->free = false;
|
downloaditemlist[allDownload - 1]->free = false;
|
||||||
|
|
||||||
|
|
||||||
|
// 使用懒汉式单例来存储downloadController
|
||||||
|
if (downloadController == nullptr)
|
||||||
|
{
|
||||||
|
downloadController = new DownloadController; // 并发下载,在第一次点击下载按钮的时候才会初始化
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
if (downloadController)
|
if (downloadController)
|
||||||
{
|
{
|
||||||
downloadController->disconnect();
|
downloadController->disconnect();
|
||||||
downloadController->stopDownload();
|
downloadController->stopDownload();
|
||||||
downloadController->deleteLater();
|
|
||||||
}
|
}
|
||||||
downloadController = new DownloadController; // 并发下载,在点击下载按钮的时候才会初始化
|
|
||||||
connect(downloadController, &DownloadController::downloadProcess, this, &DownloadListWidget::updateDataReadProgress);
|
connect(downloadController, &DownloadController::downloadProcess, this, &DownloadListWidget::updateDataReadProgress);
|
||||||
connect(downloadController, &DownloadController::downloadFinished, this, &DownloadListWidget::httpFinished);
|
connect(downloadController, &DownloadController::downloadFinished, this, &DownloadListWidget::httpFinished);
|
||||||
// connect(downloadController, &DownloadController::errorOccur, this, [=](QString msg){this->sendNotification(msg);});
|
// connect(downloadController, &DownloadController::errorOccur, this, [=](QString msg){this->sendNotification(msg);});
|
||||||
|
Loading…
x
Reference in New Issue
Block a user