summaryrefslogtreecommitdiffstats
path: root/backend/tasks/Task.h
diff options
context:
space:
mode:
authorPetr Mrázek <peterix@gmail.com>2013-08-09 00:26:35 +0200
committerPetr Mrázek <peterix@gmail.com>2013-08-09 00:26:35 +0200
commitbf5f5091ef6daeaf7067f4fc8973eb068ddc52fc (patch)
tree647f77c1d7f8c8e0e7bdf90fb7f3b0eac9aa5f6c /backend/tasks/Task.h
parentc8925e0f667b0c94028345586d99008066358200 (diff)
downloadMultiMC-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.h23
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);