diff --git a/app/task/taskmanager.cpp b/app/task/taskmanager.cpp index eac4c6886..fa5d74d06 100644 --- a/app/task/taskmanager.cpp +++ b/app/task/taskmanager.cpp @@ -30,6 +30,11 @@ TaskManager::TaskManager() maximum_task_count_ = QThread::idealThreadCount(); } +TaskManager::~TaskManager() +{ + Clear(); +} + void TaskManager::AddTask(Task* t) { // Connect Task's status signal to the Callback @@ -45,6 +50,17 @@ void TaskManager::AddTask(Task* t) StartNextWaiting(); } +void TaskManager::Clear() +{ + // TODO Cancelling tasks + + // Delete Tasks from memory + for (int i=0;isetText(QString("%1").arg(task_->text())); // Connect to the task - connect(t, SIGNAL(StatusChanged(Task::Status)), this, SLOT(TaskStatusChange(Task::Status))); - connect(t, SIGNAL(ProgressChanged(int)), progress_bar_, SLOT(setValue(int))); + connect(task_, SIGNAL(StatusChanged(Task::Status)), this, SLOT(TaskStatusChange(Task::Status))); + connect(task_, SIGNAL(ProgressChanged(int)), progress_bar_, SLOT(setValue(int))); + connect(task_, SIGNAL(destroyed()), this, SLOT(deleteLater())); } void TaskViewItem::TaskStatusChange(Task::Status status)