diff options
Diffstat (limited to 'launcher/tasks/SequentialTask.cpp')
| -rw-r--r-- | launcher/tasks/SequentialTask.cpp | 63 |
1 files changed, 32 insertions, 31 deletions
diff --git a/launcher/tasks/SequentialTask.cpp b/launcher/tasks/SequentialTask.cpp index 1eae66ccf6..12dcd92818 100644 --- a/launcher/tasks/SequentialTask.cpp +++ b/launcher/tasks/SequentialTask.cpp @@ -21,56 +21,57 @@ #include "SequentialTask.h" -SequentialTask::SequentialTask(QObject *parent) : Task(parent), m_currentIndex(-1) +SequentialTask::SequentialTask(QObject* parent) + : Task(parent), m_currentIndex(-1) { } void SequentialTask::addTask(Task::Ptr task) { - m_queue.append(task); + m_queue.append(task); } void SequentialTask::executeTask() { - m_currentIndex = -1; - startNext(); + m_currentIndex = -1; + startNext(); } void SequentialTask::startNext() { - if (m_currentIndex != -1) - { - Task::Ptr previous = m_queue[m_currentIndex]; - disconnect(previous.get(), 0, this, 0); - } - m_currentIndex++; - if (m_queue.isEmpty() || m_currentIndex >= m_queue.size()) - { - emitSucceeded(); - return; - } - Task::Ptr 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(); + if (m_currentIndex != -1) { + Task::Ptr previous = m_queue[m_currentIndex]; + disconnect(previous.get(), 0, this, 0); + } + m_currentIndex++; + if (m_queue.isEmpty() || m_currentIndex >= m_queue.size()) { + emitSucceeded(); + return; + } + Task::Ptr 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) +void SequentialTask::subTaskFailed(const QString& msg) { - emitFailed(msg); + emitFailed(msg); } -void SequentialTask::subTaskStatus(const QString &msg) +void SequentialTask::subTaskStatus(const QString& msg) { - setStatus(msg); + setStatus(msg); } void SequentialTask::subTaskProgress(qint64 current, qint64 total) { - if(total == 0) - { - setProgress(0, 100); - return; - } - setProgress(current, total); + if (total == 0) { + setProgress(0, 100); + return; + } + setProgress(current, total); } |
