diff options
author | Petr Mrázek <peterix@gmail.com> | 2013-08-09 00:26:35 +0200 |
---|---|---|
committer | Petr Mrázek <peterix@gmail.com> | 2013-08-09 00:26:35 +0200 |
commit | bf5f5091ef6daeaf7067f4fc8973eb068ddc52fc (patch) | |
tree | 647f77c1d7f8c8e0e7bdf90fb7f3b0eac9aa5f6c /backend/tasks/Task.h | |
parent | c8925e0f667b0c94028345586d99008066358200 (diff) | |
download | MultiMC-bf5f5091ef6daeaf7067f4fc8973eb068ddc52fc.tar MultiMC-bf5f5091ef6daeaf7067f4fc8973eb068ddc52fc.tar.gz MultiMC-bf5f5091ef6daeaf7067f4fc8973eb068ddc52fc.tar.lz MultiMC-bf5f5091ef6daeaf7067f4fc8973eb068ddc52fc.tar.xz MultiMC-bf5f5091ef6daeaf7067f4fc8973eb068ddc52fc.zip |
Various task related improvements.
* Errors are reported back to task users via Failure signals.
* Lwjgl doesn't download on each legacy instance start anymore.
* Tasks were unified when it comes to success/failure.
* Task dialogs don't get spawned after short tasks finish anymore.
Diffstat (limited to 'backend/tasks/Task.h')
-rw-r--r-- | backend/tasks/Task.h | 23 |
1 files changed, 6 insertions, 17 deletions
diff --git a/backend/tasks/Task.h b/backend/tasks/Task.h index bbe27ae1..15219931 100644 --- a/backend/tasks/Task.h +++ b/backend/tasks/Task.h @@ -27,33 +27,21 @@ class LIBMULTIMC_EXPORT Task : public QObject public: explicit Task(QObject *parent = 0); - // Starts the task. - void startTask(); - QString getStatus() const; int getProgress() const; - bool isRunning() const; - /*! - * \brief Calculates and sets the task's progress based on the number of parts completed out of the total number to complete. - * This is essentially just shorthand for setProgress((parts / whole) * 100); - * \param parts The parts out of the whole completed. This parameter should - * be less than whole. If it is greater than whole, progress is set to 100. - * \param whole The total number of things that need to be completed. - */ - void calcProgress(int parts, int whole); +public slots: + void startTask(); protected slots: void setStatus(const QString& status); void setProgress(int progress); signals: - void started(Task* task); - void ended(Task* task); - void started(); - void ended(); + void failed(QString reason); + void succeeded(); void statusChanged(Task* task, const QString& status); void progressChanged(Task* task, int progress); @@ -65,7 +53,8 @@ protected: virtual void executeTask() = 0; virtual void emitStarted(); - virtual void emitEnded(); + virtual void emitFailed(QString reason); + virtual void emitSucceeded(); virtual void emitStatusChange(const QString &status); virtual void emitProgressChange(int progress); |