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 /gui/taskdialog.cpp | |
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 'gui/taskdialog.cpp')
-rw-r--r-- | gui/taskdialog.cpp | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/gui/taskdialog.cpp b/gui/taskdialog.cpp index efa64256..f61614e8 100644 --- a/gui/taskdialog.cpp +++ b/gui/taskdialog.cpp @@ -45,12 +45,14 @@ void TaskDialog::exec(Task *task) this->task = task; // Connect signals. - connect(task, SIGNAL(started(Task*)), SLOT(onTaskStarted(Task*))); - connect(task, SIGNAL(ended(Task*)), SLOT(onTaskEnded(Task*))); + connect(task, SIGNAL(started()), SLOT(onTaskStarted())); + connect(task, SIGNAL(failed(QString)), SLOT(onTaskEnded())); + connect(task, SIGNAL(succeeded()), SLOT(onTaskEnded())); connect(task, SIGNAL(statusChanged(const QString&)), SLOT(changeStatus(const QString&))); connect(task, SIGNAL(progressChanged(int)), SLOT(changeProgress(int))); - task->startTask(); + // this makes sure that the task is started after the dialog is created + QMetaObject::invokeMethod(task, "startTask", Qt::QueuedConnection); QDialog::exec(); } @@ -59,12 +61,12 @@ Task* TaskDialog::getTask() return task; } -void TaskDialog::onTaskStarted(Task*) +void TaskDialog::onTaskStarted() { } -void TaskDialog::onTaskEnded(Task*) +void TaskDialog::onTaskEnded() { close(); } |