diff --git a/tests/manual/tasking/demo/main.cpp b/tests/manual/tasking/demo/main.cpp index 6ca092d21c3..c48b894580f 100644 --- a/tests/manual/tasking/demo/main.cpp +++ b/tests/manual/tasking/demo/main.cpp @@ -163,24 +163,22 @@ int main(int argc, char *argv[]) std::unique_ptr taskTree; - const auto createTask = [](TaskWidget *widget) -> GroupItem { - const auto setupTask = [](TaskWidget *widget) { - return [widget](milliseconds &taskObject) { - taskObject = milliseconds{widget->busyTime() * 1000}; - widget->setState(State::Running); - }; + const auto createTask = [](TaskWidget *widget) { + const milliseconds timeout{widget->busyTime() * 1000}; + const auto setupTask = [widget, timeout](milliseconds &taskObject) { + taskObject = timeout; + widget->setState(State::Running); }; const Group root { - widget->isSuccess() ? finishAllAndDone : finishAllAndError, - TimeoutTask(setupTask(widget)), + widget->isSuccess() ? stopOnError : finishAllAndError, + TimeoutTask(setupTask), onGroupDone([widget] { widget->setState(State::Done); }), onGroupError([widget] { widget->setState(State::Error); }) }; return root; }; - auto treeRoot = [&] { - + const auto recipe = [&] { const Group root { rootGroup->executeMode(), rootGroup->workflowPolicy(), @@ -232,21 +230,21 @@ int main(int argc, char *argv[]) // Non-task GUI handling - auto createTaskTree = [&] { - TaskTree *taskTree = new TaskTree(treeRoot()); + const auto createTaskTree = [&] { + TaskTree *taskTree = new TaskTree(recipe()); progressBar->setMaximum(taskTree->progressMaximum()); QObject::connect(taskTree, &TaskTree::progressValueChanged, progressBar, &QProgressBar::setValue); return taskTree; }; - auto stopTaskTree = [&] { + const auto stopTaskTree = [&] { if (taskTree) taskTree->stop(); // TODO: unlock GUI controls? }; - auto resetTaskTree = [&] { + const auto resetTaskTree = [&] { if (!taskTree) return;