forked from qt-creator/qt-creator
		
	Qbs: Improve performance even further...
setupFolder is called recursively... Change-Id: Ief1d1d45294a3821f5496d832a2130a8ff779f44 Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
This commit is contained in:
		
				
					committed by
					
						
						Orgad Shaneh
					
				
			
			
				
	
			
			
			
						parent
						
							0642c10512
						
					
				
				
					commit
					c632ce44f7
				
			@@ -453,11 +453,17 @@ void QbsGroupNode::setupFiles(ProjectExplorer::FolderNode *root, const qbs::Grou
 | 
			
		||||
    FileTreeNode::reorder(&tree, productPath);
 | 
			
		||||
    FileTreeNode::simplify(&tree);
 | 
			
		||||
 | 
			
		||||
    setupFolder(root, group, &tree, productPath, updateExisting);
 | 
			
		||||
    QHash<QString, ProjectExplorer::FileType> fileTypeHash;
 | 
			
		||||
    foreach (const qbs::SourceArtifact &sa, group.allSourceArtifacts())
 | 
			
		||||
        fileTypeHash[sa.filePath()] = fileType(sa);
 | 
			
		||||
 | 
			
		||||
    setupFolder(root, fileTypeHash, &tree, productPath, updateExisting);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void QbsGroupNode::setupFolder(ProjectExplorer::FolderNode *root, const qbs::GroupData &group,
 | 
			
		||||
                               const FileTreeNode *fileTree, const QString &baseDir,
 | 
			
		||||
void QbsGroupNode::setupFolder(ProjectExplorer::FolderNode *root,
 | 
			
		||||
                               const QHash<QString, ProjectExplorer::FileType> &fileTypeHash,
 | 
			
		||||
                               const FileTreeNode *fileTree,
 | 
			
		||||
                               const QString &baseDir,
 | 
			
		||||
                               bool updateExisting)
 | 
			
		||||
{
 | 
			
		||||
    // We only need to care about FileNodes and FolderNodes here. Everything else is
 | 
			
		||||
@@ -479,10 +485,6 @@ void QbsGroupNode::setupFolder(ProjectExplorer::FolderNode *root, const qbs::Gro
 | 
			
		||||
        foldersToRemove.append(fn);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    QHash<QString, ProjectExplorer::FileType> fileTypeHash;
 | 
			
		||||
    foreach (const qbs::SourceArtifact &sa, group.allSourceArtifacts())
 | 
			
		||||
        fileTypeHash[sa.filePath()] = fileType(sa);
 | 
			
		||||
 | 
			
		||||
    foreach (FileTreeNode *c, fileTree->children) {
 | 
			
		||||
        Utils::FileName path = Utils::FileName::fromString(c->path());
 | 
			
		||||
        const ProjectExplorer::FileType newFileType =
 | 
			
		||||
@@ -537,7 +539,7 @@ void QbsGroupNode::setupFolder(ProjectExplorer::FolderNode *root, const qbs::Gro
 | 
			
		||||
            if (isQrcFile)
 | 
			
		||||
                static_cast<ResourceTopLevelNode *>(fn)->update();
 | 
			
		||||
            else
 | 
			
		||||
                setupFolder(fn, group, c, c->path(), updateExisting);
 | 
			
		||||
                setupFolder(fn, fileTypeHash, c, c->path(), updateExisting);
 | 
			
		||||
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user