aboutsummaryrefslogtreecommitdiff
path: root/launcher/tasks/Task.h
diff options
context:
space:
mode:
authorSefa Eyeoglu <contact@scrumplex.net>2022-08-28 16:52:53 +0200
committerGitHub <noreply@github.com>2022-08-28 16:52:53 +0200
commitf371ec210c091b9ebc91930be74752383cb941c6 (patch)
treef3b13e1015285e76145552d21503ff641bf4ce11 /launcher/tasks/Task.h
parentafcd669d2f6934c2b6076939d7665f791d495994 (diff)
parent0b81b283bfdd16b409127f22eac7b51ce0142929 (diff)
downloadPrismLauncher-f371ec210c091b9ebc91930be74752383cb941c6.tar.gz
PrismLauncher-f371ec210c091b9ebc91930be74752383cb941c6.tar.bz2
PrismLauncher-f371ec210c091b9ebc91930be74752383cb941c6.zip
Merge pull request #1052 from flowln/resource_model
Diffstat (limited to 'launcher/tasks/Task.h')
-rw-r--r--launcher/tasks/Task.h12
1 files changed, 10 insertions, 2 deletions
diff --git a/launcher/tasks/Task.h b/launcher/tasks/Task.h
index aafaf68c..2baf0188 100644
--- a/launcher/tasks/Task.h
+++ b/launcher/tasks/Task.h
@@ -35,9 +35,11 @@
#pragma once
+#include <QRunnable>
+
#include "QObjectPtr.h"
-class Task : public QObject {
+class Task : public QObject, public QRunnable {
Q_OBJECT
public:
using Ptr = shared_qobject_ptr<Task>;
@@ -45,7 +47,7 @@ class Task : public QObject {
enum class State { Inactive, Running, Succeeded, Failed, AbortedByUser };
public:
- explicit Task(QObject* parent = 0);
+ explicit Task(QObject* parent = 0, bool show_debug_log = true);
virtual ~Task() = default;
bool isRunning() const;
@@ -95,6 +97,9 @@ class Task : public QObject {
void stepStatus(QString status);
public slots:
+ // QRunnable's interface
+ void run() override { start(); }
+
virtual void start();
virtual bool abort() { if(canAbort()) emitAborted(); return canAbort(); };
@@ -117,4 +122,7 @@ class Task : public QObject {
QString m_status;
int m_progress = 0;
int m_progressTotal = 100;
+
+ // TODO: Nuke in favor of QLoggingCategory
+ bool m_show_debug = true;
};