diff options
author | Sefa Eyeoglu <contact@scrumplex.net> | 2022-04-06 10:52:38 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-04-06 10:52:38 +0200 |
commit | fa870bc026b21aca7b3859cde8ba3f843a98e023 (patch) | |
tree | 43a768c16cea79a8bb2bebb4b13c1c0ba6d7cadb /launcher/ui/dialogs/ProgressDialog.cpp | |
parent | 99d569ed0e982291f167155a9eb86d1c6e659376 (diff) | |
parent | 9b8493c30499e06bbef7b96ff415f80c140c1a7f (diff) | |
download | PrismLauncher-fa870bc026b21aca7b3859cde8ba3f843a98e023.tar.gz PrismLauncher-fa870bc026b21aca7b3859cde8ba3f843a98e023.tar.bz2 PrismLauncher-fa870bc026b21aca7b3859cde8ba3f843a98e023.zip |
Merge pull request #380 from flowln/task-progress
Diffstat (limited to 'launcher/ui/dialogs/ProgressDialog.cpp')
-rw-r--r-- | launcher/ui/dialogs/ProgressDialog.cpp | 22 |
1 files changed, 19 insertions, 3 deletions
diff --git a/launcher/ui/dialogs/ProgressDialog.cpp b/launcher/ui/dialogs/ProgressDialog.cpp index 4b092859..648bd88b 100644 --- a/launcher/ui/dialogs/ProgressDialog.cpp +++ b/launcher/ui/dialogs/ProgressDialog.cpp @@ -81,6 +81,12 @@ int ProgressDialog::execWithTask(Task *task) connect(task, SIGNAL(status(QString)), SLOT(changeStatus(const QString &))); connect(task, SIGNAL(progress(qint64, qint64)), SLOT(changeProgress(qint64, qint64))); + m_is_multi_step = task->isMultiStep(); + if(!m_is_multi_step){ + ui->globalStatusLabel->setHidden(true); + ui->globalProgressBar->setHidden(true); + } + // if this didn't connect to an already running task, invoke start if(!task->isRunning()) { @@ -152,14 +158,24 @@ void ProgressDialog::onTaskSucceeded() void ProgressDialog::changeStatus(const QString &status) { - ui->statusLabel->setText(status); + ui->statusLabel->setText(task->getStepStatus()); + ui->globalStatusLabel->setText(status); updateSize(); } void ProgressDialog::changeProgress(qint64 current, qint64 total) { - ui->taskProgressBar->setMaximum(total); - ui->taskProgressBar->setValue(current); + ui->globalProgressBar->setMaximum(total); + ui->globalProgressBar->setValue(current); + + if(!m_is_multi_step){ + ui->taskProgressBar->setMaximum(total); + ui->taskProgressBar->setValue(current); + } + else{ + ui->taskProgressBar->setMaximum(task->getStepProgress()); + ui->taskProgressBar->setValue(task->getStepTotalProgress()); + } } void ProgressDialog::keyPressEvent(QKeyEvent *e) |