diff --git a/app/widget/taskview/taskviewitem.cpp b/app/widget/taskview/taskviewitem.cpp index f52e12ce5..07e7cf635 100644 --- a/app/widget/taskview/taskviewitem.cpp +++ b/app/widget/taskview/taskviewitem.cpp @@ -20,7 +20,6 @@ #include "taskviewitem.h" -#include #include #include "ui/icons/icons.h" @@ -49,9 +48,9 @@ TaskViewItem::TaskViewItem(QWidget *parent) : middle_layout->addWidget(progress_bar_); // Create cancel button - QPushButton* cancel_btn = new QPushButton(this); - cancel_btn->setIcon(olive::icon::Error); - middle_layout->addWidget(cancel_btn); + cancel_btn_ = new QPushButton(this); + cancel_btn_->setIcon(olive::icon::Error); + middle_layout->addWidget(cancel_btn_); // Create status label task_status_lbl_ = new QLabel(this); @@ -85,20 +84,24 @@ void TaskViewItem::TaskStatusChange(Task::Status status) case Task::kWaiting: task_status_lbl_->setText(tr("Waiting...")); progress_bar_->setValue(0); + cancel_btn_->setEnabled(true); break; case Task::kWorking: task_status_lbl_->setText(tr("Working...")); progress_bar_->setValue(0); + cancel_btn_->setEnabled(true); break; case Task::kFinished: task_status_lbl_->setText(tr("Done")); progress_bar_->setValue(100); + cancel_btn_->setEnabled(false); break; case Task::kError: task_status_lbl_->setText( tr("Error: %1").arg(static_cast(sender())->error()) ); progress_bar_->setValue(0); + cancel_btn_->setEnabled(false); break; } } diff --git a/app/widget/taskview/taskviewitem.h b/app/widget/taskview/taskviewitem.h index 29fac95cf..65546fc37 100644 --- a/app/widget/taskview/taskviewitem.h +++ b/app/widget/taskview/taskviewitem.h @@ -23,6 +23,7 @@ #include #include +#include #include #include "task/task.h" @@ -38,6 +39,7 @@ public: private: QLabel* task_name_lbl_; QProgressBar* progress_bar_; + QPushButton* cancel_btn_; QLabel* task_status_lbl_; Task* task_;