diff options
Diffstat (limited to 'application/widgets/ProgressWidget.cpp')
-rw-r--r-- | application/widgets/ProgressWidget.cpp | 80 |
1 files changed, 40 insertions, 40 deletions
diff --git a/application/widgets/ProgressWidget.cpp b/application/widgets/ProgressWidget.cpp index fab099a9..911e555d 100644 --- a/application/widgets/ProgressWidget.cpp +++ b/application/widgets/ProgressWidget.cpp @@ -9,65 +9,65 @@ #include "tasks/Task.h" ProgressWidget::ProgressWidget(QWidget *parent) - : QWidget(parent) + : QWidget(parent) { - m_label = new QLabel(this); - m_label->setWordWrap(true); - m_bar = new QProgressBar(this); - m_bar->setMinimum(0); - m_bar->setMaximum(100); - QVBoxLayout *layout = new QVBoxLayout(this); - layout->addWidget(m_label); - layout->addWidget(m_bar); - layout->addStretch(); - setLayout(layout); + m_label = new QLabel(this); + m_label->setWordWrap(true); + m_bar = new QProgressBar(this); + m_bar->setMinimum(0); + m_bar->setMaximum(100); + QVBoxLayout *layout = new QVBoxLayout(this); + layout->addWidget(m_label); + layout->addWidget(m_bar); + layout->addStretch(); + setLayout(layout); } void ProgressWidget::start(std::shared_ptr<Task> task) { - if (m_task) - { - disconnect(m_task.get(), 0, this, 0); - } - m_task = task; - connect(m_task.get(), &Task::finished, this, &ProgressWidget::handleTaskFinish); - connect(m_task.get(), &Task::status, this, &ProgressWidget::handleTaskStatus); - connect(m_task.get(), &Task::progress, this, &ProgressWidget::handleTaskProgress); - connect(m_task.get(), &Task::destroyed, this, &ProgressWidget::taskDestroyed); - if (!m_task->isRunning()) - { - QMetaObject::invokeMethod(m_task.get(), "start", Qt::QueuedConnection); - } + if (m_task) + { + disconnect(m_task.get(), 0, this, 0); + } + m_task = task; + connect(m_task.get(), &Task::finished, this, &ProgressWidget::handleTaskFinish); + connect(m_task.get(), &Task::status, this, &ProgressWidget::handleTaskStatus); + connect(m_task.get(), &Task::progress, this, &ProgressWidget::handleTaskProgress); + connect(m_task.get(), &Task::destroyed, this, &ProgressWidget::taskDestroyed); + if (!m_task->isRunning()) + { + QMetaObject::invokeMethod(m_task.get(), "start", Qt::QueuedConnection); + } } bool ProgressWidget::exec(std::shared_ptr<Task> task) { - QEventLoop loop; - connect(task.get(), &Task::finished, &loop, &QEventLoop::quit); - start(task); - if (task->isRunning()) - { - loop.exec(); - } - return task->wasSuccessful(); + QEventLoop loop; + connect(task.get(), &Task::finished, &loop, &QEventLoop::quit); + start(task); + if (task->isRunning()) + { + loop.exec(); + } + return task->wasSuccessful(); } void ProgressWidget::handleTaskFinish() { - if (!m_task->wasSuccessful()) - { - m_label->setText(m_task->failReason()); - } + if (!m_task->wasSuccessful()) + { + m_label->setText(m_task->failReason()); + } } void ProgressWidget::handleTaskStatus(const QString &status) { - m_label->setText(status); + m_label->setText(status); } void ProgressWidget::handleTaskProgress(qint64 current, qint64 total) { - m_bar->setMaximum(total); - m_bar->setValue(current); + m_bar->setMaximum(total); + m_bar->setValue(current); } void ProgressWidget::taskDestroyed() { - m_task = nullptr; + m_task = nullptr; } |