summaryrefslogtreecommitdiffstats
path: root/logic
diff options
context:
space:
mode:
Diffstat (limited to 'logic')
-rw-r--r--logic/forge/ForgeVersionList.cpp5
-rw-r--r--logic/forge/ForgeVersionList.h1
-rw-r--r--logic/tasks/Task.cpp2
-rw-r--r--logic/tasks/Task.h1
4 files changed, 9 insertions, 0 deletions
diff --git a/logic/forge/ForgeVersionList.cpp b/logic/forge/ForgeVersionList.cpp
index b2320a6d..4f9870f7 100644
--- a/logic/forge/ForgeVersionList.cpp
+++ b/logic/forge/ForgeVersionList.cpp
@@ -144,6 +144,11 @@ void ForgeListLoadTask::executeTask()
listJob->start();
}
+void ForgeListLoadTask::abort()
+{
+ listJob->abort();
+}
+
bool ForgeListLoadTask::parseForgeList(QList<BaseVersionPtr> &out)
{
QByteArray data;
diff --git a/logic/forge/ForgeVersionList.h b/logic/forge/ForgeVersionList.h
index baae570d..2ffc2d68 100644
--- a/logic/forge/ForgeVersionList.h
+++ b/logic/forge/ForgeVersionList.h
@@ -66,6 +66,7 @@ public:
explicit ForgeListLoadTask(ForgeVersionList *vlist);
virtual void executeTask();
+ virtual void abort();
protected
slots:
diff --git a/logic/tasks/Task.cpp b/logic/tasks/Task.cpp
index 150ea48d..8fed810b 100644
--- a/logic/tasks/Task.cpp
+++ b/logic/tasks/Task.cpp
@@ -44,6 +44,7 @@ void Task::emitFailed(QString reason)
m_failReason = reason;
qCritical() << "Task failed: " << reason;
emit failed(reason);
+ emit finished();
}
void Task::emitSucceeded()
@@ -53,6 +54,7 @@ void Task::emitSucceeded()
m_succeeded = true;
qDebug() << "Task succeeded";
emit succeeded();
+ emit finished();
}
bool Task::isRunning() const
diff --git a/logic/tasks/Task.h b/logic/tasks/Task.h
index 746a2b26..3ab85d7d 100644
--- a/logic/tasks/Task.h
+++ b/logic/tasks/Task.h
@@ -42,6 +42,7 @@ public:
signals:
void started();
void progress(qint64 current, qint64 total);
+ void finished();
void succeeded();
void failed(QString reason);
void status(QString status);