TaskTree: Merge DynamicSetup with OnGroupSetup

Don't define 2 separate group setup items. Make OnGroupSetup
be able to handle also dynamic setup - like it's done with
CustomTask's setup handler.

Change-Id: I43e135f268ea96419b44ef5a4325707a124b4921
Reviewed-by: hjk <hjk@qt.io>
This commit is contained in:
Jarek Kobus
2023-01-20 17:05:33 +01:00
parent 105fc92e19
commit 817553f3e5
5 changed files with 34 additions and 29 deletions

View File

@@ -119,17 +119,12 @@ void TaskItem::addChildren(const QList<TaskItem> &children)
QTC_ASSERT(!child.m_groupHandler.m_errorHandler
|| !m_groupHandler.m_errorHandler,
qWarning("Group Error Handler redefinition, overriding..."));
QTC_ASSERT(!child.m_groupHandler.m_dynamicSetupHandler
|| !m_groupHandler.m_dynamicSetupHandler,
qWarning("Dynamic Setup Handler redefinition, overriding..."));
if (child.m_groupHandler.m_setupHandler)
m_groupHandler.m_setupHandler = child.m_groupHandler.m_setupHandler;
if (child.m_groupHandler.m_doneHandler)
m_groupHandler.m_doneHandler = child.m_groupHandler.m_doneHandler;
if (child.m_groupHandler.m_errorHandler)
m_groupHandler.m_errorHandler = child.m_groupHandler.m_errorHandler;
if (child.m_groupHandler.m_dynamicSetupHandler)
m_groupHandler.m_dynamicSetupHandler = child.m_groupHandler.m_dynamicSetupHandler;
break;
case Type::Storage:
m_storageList.append(child.m_storageList);
@@ -353,13 +348,10 @@ TaskAction TaskContainer::start()
createStorages();
TaskAction groupAction = TaskAction::Continue;
if (m_groupHandler.m_setupHandler || m_groupHandler.m_dynamicSetupHandler) {
if (m_groupHandler.m_setupHandler) {
StorageActivator activator(*this);
GuardLocker locker(m_taskTreePrivate->m_guard);
if (m_groupHandler.m_setupHandler)
m_groupHandler.m_setupHandler();
if (m_groupHandler.m_dynamicSetupHandler)
groupAction = m_groupHandler.m_dynamicSetupHandler();
groupAction = m_groupHandler.m_setupHandler();
}
if (groupAction == TaskAction::StopWithDone || groupAction == TaskAction::StopWithError) {