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.
This commit is contained in:
Petr Mrázek
2013-08-09 00:26:35 +02:00
parent c8925e0f66
commit bf5f5091ef
16 changed files with 122 additions and 148 deletions

View File

@@ -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();
}