summaryrefslogtreecommitdiffstats
path: root/libraries/logic/tasks/SequentialTask.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'libraries/logic/tasks/SequentialTask.cpp')
-rw-r--r--libraries/logic/tasks/SequentialTask.cpp55
1 files changed, 0 insertions, 55 deletions
diff --git a/libraries/logic/tasks/SequentialTask.cpp b/libraries/logic/tasks/SequentialTask.cpp
deleted file mode 100644
index ac0e7820..00000000
--- a/libraries/logic/tasks/SequentialTask.cpp
+++ /dev/null
@@ -1,55 +0,0 @@
-#include "SequentialTask.h"
-
-SequentialTask::SequentialTask(QObject *parent) : Task(parent), m_currentIndex(-1)
-{
-}
-
-void SequentialTask::addTask(std::shared_ptr<Task> task)
-{
- m_queue.append(task);
-}
-
-void SequentialTask::executeTask()
-{
- m_currentIndex = -1;
- startNext();
-}
-
-void SequentialTask::startNext()
-{
- if (m_currentIndex != -1)
- {
- std::shared_ptr<Task> previous = m_queue[m_currentIndex];
- disconnect(previous.get(), 0, this, 0);
- }
- m_currentIndex++;
- if (m_queue.isEmpty() || m_currentIndex >= m_queue.size())
- {
- emitSucceeded();
- return;
- }
- std::shared_ptr<Task> next = m_queue[m_currentIndex];
- connect(next.get(), SIGNAL(failed(QString)), this, SLOT(subTaskFailed(QString)));
- connect(next.get(), SIGNAL(status(QString)), this, SLOT(subTaskStatus(QString)));
- connect(next.get(), SIGNAL(progress(qint64, qint64)), this, SLOT(subTaskProgress(qint64, qint64)));
- connect(next.get(), SIGNAL(succeeded()), this, SLOT(startNext()));
- next->start();
-}
-
-void SequentialTask::subTaskFailed(const QString &msg)
-{
- emitFailed(msg);
-}
-void SequentialTask::subTaskStatus(const QString &msg)
-{
- setStatus(msg);
-}
-void SequentialTask::subTaskProgress(qint64 current, qint64 total)
-{
- if(total == 0)
- {
- setProgress(0, 100);
- return;
- }
- setProgress(current, total);
-}