diff options
| author | flow <flowlnlnln@gmail.com> | 2022-09-26 08:25:12 -0300 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-09-26 08:25:12 -0300 |
| commit | 370c3aa5985698351e706e61c660a3a566a5f09b (patch) | |
| tree | 5bd62ceec118396d676cf3799edafdb806e4375d /launcher/tasks | |
| parent | 58a5331f7bafb149c18f560a0363daab65521262 (diff) | |
| parent | dd6f670dec7dfd1a9ad6f4595ad5447ac735c737 (diff) | |
| download | PrismLauncher-370c3aa5985698351e706e61c660a3a566a5f09b.tar.gz PrismLauncher-370c3aa5985698351e706e61c660a3a566a5f09b.tar.bz2 PrismLauncher-370c3aa5985698351e706e61c660a3a566a5f09b.zip | |
Merge pull request #894 from flowln/update_from_external_source
epic PR
Diffstat (limited to 'launcher/tasks')
| -rw-r--r-- | launcher/tasks/Task.h | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/launcher/tasks/Task.h b/launcher/tasks/Task.h index 2baf0188..3d607dca 100644 --- a/launcher/tasks/Task.h +++ b/launcher/tasks/Task.h @@ -68,7 +68,7 @@ class Task : public QObject, public QRunnable { virtual QStringList warnings() const; - virtual bool canAbort() const { return false; } + virtual bool canAbort() const { return m_can_abort; } auto getState() const -> State { return m_state; } @@ -96,6 +96,10 @@ class Task : public QObject, public QRunnable { void status(QString status); void stepStatus(QString status); + /** Emitted when the canAbort() status has changed. + */ + void abortStatusChanged(bool can_abort); + public slots: // QRunnable's interface void run() override { start(); } @@ -103,6 +107,8 @@ class Task : public QObject, public QRunnable { virtual void start(); virtual bool abort() { if(canAbort()) emitAborted(); return canAbort(); }; + void setAbortable(bool can_abort) { m_can_abort = can_abort; emit abortStatusChanged(can_abort); } + protected: virtual void executeTask() = 0; @@ -125,4 +131,8 @@ class Task : public QObject, public QRunnable { // TODO: Nuke in favor of QLoggingCategory bool m_show_debug = true; + + private: + // Change using setAbortStatus + bool m_can_abort = false; }; |
