重写下载按钮逻辑

This commit is contained in:
2022-12-13 20:32:39 +08:00
parent 922cb6a34f
commit 83ee212484
6 changed files with 52 additions and 47 deletions

View File

@@ -36,6 +36,7 @@ void DownloadItem::setValue(qint64 value)
ui->label_2->setText(QString::number(double(value) / 100) + "% (" + speed + ")");
if(ui->label_2->text().left(4) == "100%")
{
download = 1;
ui->label_2->setText(tr("Download Complete."));
}
}
@@ -140,12 +141,14 @@ void DownloadItem::install(int t)
ui->pushButton_install->hide();
Utils::sendNotification("spark-store",tr("Spark Store"),ui->label->text() + " " + tr("Installation complete."));
ui->label_2->setText(tr("Finish"));
download = 3;
ui->pushButton_3->show();
}
else
{
ui->pushButton_install->show();
ui->pushButton_install->setText(tr("Retry"));
download = 1;
Utils::sendNotification("spark-store",tr("Spark Store"),tr("Error happened in dpkg progress , you can try it again."));
ui->label_2->setText(tr("Error happened in dpkg progress , you can try it again"));
ui->pushButton_3->show();
@@ -176,6 +179,7 @@ void DownloadItem::on_pushButton_install_clicked()
void DownloadItem::on_pushButton_2_clicked()
{
ui->label_2->setText(tr("Download canceled"));
download = 2;
ui->pushButton_2->setEnabled(false);
ui->progressBar->hide();
close = true;

View File

@@ -29,7 +29,7 @@ public:
QString out;
QString pkgName;
bool close;
int download;
void setValue(qint64);
void setMax(qint64);
void setName(QString);

View File

@@ -72,16 +72,12 @@ void DownloadListWidget::clearItem()
}
void DownloadListWidget::addItem(QString name,QString fileName,QString pkgName,const QPixmap icon,QString downloadurl)
{
allDownload += 1;
urList.append(downloadurl);
if(dlist.contains(downloadurl))
{
return;
}
if(fileName.isEmpty())
{
return;
}
allDownload += 1;
DownloadItem *di=new DownloadItem(this);
dlist<<downloadurl;
downloaditemlist<<di;
@@ -105,6 +101,11 @@ QList<DownloadItem *> DownloadListWidget::getDIList()
return downloaditemlist;
}
QList<QUrl> DownloadListWidget::getUrlList()
{
return urList;
}
void DownloadListWidget::startRequest(QUrl url, QString fileName)
{
ui->listWidget->show();
@@ -130,7 +131,6 @@ void DownloadListWidget::httpFinished() // 完成下载
emit downloadFinished();
if(nowDownload < allDownload)
{
// 如果有排队则下载下一个
qDebug() << "切换下一个下载...";
nowDownload += 1;
@@ -143,24 +143,6 @@ void DownloadListWidget::httpFinished() // 完成下载
}
}
int DownloadListWidget::isDownloading(QString url)
{
int i = urList.indexOf(QUrl(url),0);
if(i == -1){
return 3;
}else if(i==nowDownload-1 && isdownload)
{
return 1;
}else if(i==nowDownload-1 && !isdownload)
{
return 2;
}else if(i<nowDownload-1)
{
return 2;
}
return 0;
}
void DownloadListWidget::updateDataReadProgress(QString speedInfo, qint64 bytesRead, qint64 totalBytes)
{
if(totalBytes <= 0)

View File

@@ -21,10 +21,10 @@ class DownloadListWidget : public DBlurEffectWidget
public:
void addItem(QString name, QString fileName, QString pkgName, const QPixmap icon, QString downloadurl);
int isDownloading(QString url);
int nowDownload = 0;
int allDownload = 0;
QList<DownloadItem *> getDIList();
QList<QUrl> getUrlList();
void m_move(int x, int y);
explicit DownloadListWidget(QWidget *parent = nullptr);
~DownloadListWidget();