From bf5f5091ef6daeaf7067f4fc8973eb068ddc52fc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20Mr=C3=A1zek?= Date: Fri, 9 Aug 2013 00:26:35 +0200 Subject: 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. --- backend/tasks/Task.h | 23 ++++++----------------- 1 file changed, 6 insertions(+), 17 deletions(-) (limited to 'backend/tasks/Task.h') 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); -- cgit v1.2.3