Avoid creation of temporary lists of ProjectNodes

Change-Id: Iac84f7f95291fb3b12a071a066d358aaab309c52
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
This commit is contained in:
hjk
2023-04-04 16:43:44 +02:00
parent 6b661ef1be
commit d8de6c88e9
13 changed files with 56 additions and 94 deletions

View File

@@ -223,13 +223,10 @@ FolderNode *addChildFolderNode(FolderNode *parent, const QString &childName)
FolderNode *addOrGetChildFolderNode(FolderNode *parent, const QString &childName)
{
for (FolderNode *folder : parent->folderNodes()) {
if (folder->filePath().fileName() == childName) {
return folder;
}
}
return addChildFolderNode(parent, childName);
FolderNode *fn = parent->findChildFolderNode([&](FolderNode *folder) {
return folder->filePath().fileName() == childName;
});
return fn ? fn : addChildFolderNode(parent, childName);
}
// Return the node for folderPath.