ProjectExplorer: Remove FileNode's isGenerated constructor bool

Use setter of base class, similar to setListInProject() before.

Change-Id: Id620f0084a5dec0410f29c80f8f6393a6bcd5050
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
This commit is contained in:
hjk
2019-02-25 12:08:58 +01:00
parent 15673b6eca
commit 09372918c1
20 changed files with 50 additions and 59 deletions

View File

@@ -211,8 +211,8 @@ void AutotoolsProject::makefileParsingFinished()
auto newRoot = std::make_unique<AutotoolsProjectNode>(projectDirectory());
for (const QString &f : m_files) {
const Utils::FileName path = Utils::FileName::fromString(f);
newRoot->addNestedNode(std::make_unique<FileNode>(path, FileNode::fileTypeForFileName(path),
false));
newRoot->addNestedNode(std::make_unique<FileNode>(path,
FileNode::fileTypeForFileName(path)));
}
setRootProjectNode(std::move(newRoot));

View File

@@ -429,7 +429,7 @@ void CMakeCbpParser::parseUnit()
// Now check whether we found a virtual element beneath
if (m_parsingCMakeUnit) {
m_cmakeFileList.emplace_back(
std::make_unique<FileNode>(fileName, FileType::Project, false));
std::make_unique<FileNode>(fileName, FileType::Project));
} else {
bool generated = false;
QString onlyFileName = fileName.fileName();
@@ -440,13 +440,12 @@ void CMakeCbpParser::parseUnit()
if (fileName.endsWith(".qrc")) {
m_fileList.emplace_back(
std::make_unique<FileNode>(fileName, FileType::Resource,
generated));
std::make_unique<FileNode>(fileName, FileType::Resource));
} else {
m_fileList.emplace_back(
std::make_unique<FileNode>(fileName, FileType::Source,
generated));
std::make_unique<FileNode>(fileName, FileType::Source));
}
m_fileList.back()->setIsGenerated(generated);
}
m_unitTargetMap.insert(fileName, m_unitTargets);
m_processedUnits.insert(fileName);

View File

@@ -702,7 +702,8 @@ void ServerModeReader::extractCMakeInputsData(const QVariantMap &data)
// Always include CMakeLists.txt files, even when cmake things these are part of its
// stuff. This unbreaks cmake binaries running from their own build directory.
m_cmakeInputsFileNodes.emplace_back(
std::make_unique<FileNode>(sfn, FileType::Project, isTemporary));
std::make_unique<FileNode>(sfn, FileType::Project));
m_cmakeInputsFileNodes.back()->setIsGenerated(isTemporary);
}
}
}
@@ -908,8 +909,8 @@ void ServerModeReader::addFileGroups(ProjectNode *targetRoot,
std::vector<std::unique_ptr<FileNode>> newFileNodes
= Utils::transform<std::vector>(newSources,
[f, &knownHeaderNodes](const Utils::FileName &fn) {
auto node
= std::make_unique<FileNode>(fn, Node::fileTypeForFileName(fn), f->isGenerated);
auto node = std::make_unique<FileNode>(fn, Node::fileTypeForFileName(fn));
node->setIsGenerated(f->isGenerated);
if (node->fileType() == FileType::Header)
knownHeaderNodes.append(node.get());
return node;

View File

@@ -422,7 +422,7 @@ void TeaLeafReader::extractData()
resetData();
m_projectName = m_parameters.projectName;
m_files.emplace_back(std::make_unique<FileNode>(topCMake, FileType::Project, false));
m_files.emplace_back(std::make_unique<FileNode>(topCMake, FileType::Project));
// Do not insert topCMake into m_cmakeFiles: The project already watches that!
// Find cbp file
@@ -458,7 +458,7 @@ void TeaLeafReader::extractData()
if (!contains(m_files, [topCMake](const std::unique_ptr<FileNode> &fn) {
return fn->filePath() == topCMake;
}))
m_files.emplace_back(std::make_unique<FileNode>(topCMake, FileType::Project, false));
m_files.emplace_back(std::make_unique<FileNode>(topCMake, FileType::Project));
m_buildTargets = cbpparser.buildTargets();
}

View File

@@ -166,7 +166,7 @@ void TreeScanner::scanForFiles(FutureInterface *fi, const Utils::FileName& direc
if (factory)
type = factory(mimeType, fn);
return new FileNode(fn, type, false);
return new FileNode(fn, type);
}, fip.get());
Utils::sort(nodes, ProjectExplorer::Node::sortByPath);

View File

@@ -300,8 +300,7 @@ void createTree(FolderNode *root,
FolderNode *parentNode = createFoldersIfNeeded(root, fileName.parentDir());
if (!parentNode->fileNode(fileName)) {
parentNode->addNode(std::make_unique<FileNode>(fileName,
fileTypeForName(fileName.fileName()),
false));
fileTypeForName(fileName.fileName())));
}
}
}
@@ -395,10 +394,7 @@ void CompilationDatabaseProject::buildTreeAndProjectParts(const Utils::FileName
createTree(root.get(), commonPath, rpps);
root->addNode(std::make_unique<FileNode>(
projectFile,
FileType::Project,
false));
root->addNode(std::make_unique<FileNode>(projectFile, FileType::Project));
setRootProjectNode(std::move(root));

View File

@@ -396,25 +396,19 @@ void GenericProject::refresh(RefreshOptions options)
FileType fileType = FileType::Source; // ### FIXME
if (f.endsWith(".qrc"))
fileType = FileType::Resource;
newRoot->addNestedNode(std::make_unique<FileNode>(FileName::fromString(f), fileType,
false));
newRoot->addNestedNode(std::make_unique<FileNode>(FileName::fromString(f), fileType));
}
newRoot->addNestedNode(std::make_unique<FileNode>(FileName::fromString(m_filesFileName),
FileType::Project,
/* generated = */ false));
FileType::Project));
newRoot->addNestedNode(std::make_unique<FileNode>(FileName::fromString(m_includesFileName),
FileType::Project,
/* generated = */ false));
FileType::Project));
newRoot->addNestedNode(std::make_unique<FileNode>(FileName::fromString(m_configFileName),
FileType::Project,
/* generated = */ false));
FileType::Project));
newRoot->addNestedNode(std::make_unique<FileNode>(FileName::fromString(m_cxxflagsFileName),
FileType::Project,
/* generated = */ false));
FileType::Project));
newRoot->addNestedNode(std::make_unique<FileNode>(FileName::fromString(m_cflagsFileName),
FileType::Project,
/* generated = */ false));
FileType::Project));
setRootProjectNode(std::move(newRoot));
}

View File

@@ -126,7 +126,7 @@ void NimProject::collectProjectFiles()
|| fileName.endsWith(".nimproject", HostOsInfo::fileNameCaseSensitivity())
|| fileName.contains(".nimproject.user", HostOsInfo::fileNameCaseSensitivity()))
return nullptr;
return new FileNode(fn, FileType::Source, false);
return new FileNode(fn, FileType::Source);
});
});
m_futureWatcher.setFuture(future);

View File

@@ -733,7 +733,7 @@ bool Project::isKnownFile(const Utils::FileName &filename) const
{
if (d->m_sortedNodeList.empty())
return filename == projectFilePath();
const FileNode element(filename, FileType::Unknown, false);
const FileNode element(filename, FileType::Unknown);
return std::binary_search(std::begin(d->m_sortedNodeList), std::end(d->m_sortedNodeList),
&element, nodeLessThan);
}
@@ -1062,9 +1062,10 @@ std::unique_ptr<ProjectNode> createFileTree(Project *project)
{
std::unique_ptr<ProjectNode> root = std::make_unique<TestProjectNode>(project->projectDirectory());
std::vector<std::unique_ptr<FileNode>> nodes;
nodes.emplace_back(std::make_unique<FileNode>(TEST_PROJECT_PATH, FileType::Project, false));
nodes.emplace_back(std::make_unique<FileNode>(TEST_PROJECT_CPP_FILE, FileType::Source, false));
nodes.emplace_back(std::make_unique<FileNode>(TEST_PROJECT_GENERATED_FILE, FileType::Source, true));
nodes.emplace_back(std::make_unique<FileNode>(TEST_PROJECT_PATH, FileType::Project));
nodes.emplace_back(std::make_unique<FileNode>(TEST_PROJECT_CPP_FILE, FileType::Source));
nodes.emplace_back(std::make_unique<FileNode>(TEST_PROJECT_GENERATED_FILE, FileType::Source));
nodes.back()->setIsGenerated(true);
root->addNestedNodes(std::move(nodes));
return root;

View File

@@ -261,7 +261,7 @@ void FlatModel::addOrRebuildProjectModel(Project *project)
if (container->childCount() == 0) {
auto projectFileNode = std::make_unique<FileNode>(project->projectFilePath(),
FileType::Project, false);
FileType::Project);
seen.insert(projectFileNode.get());
container->appendChild(new WrapperNode(projectFileNode.get()));
project->containerNode()->addNestedNode(std::move(projectFileNode));

View File

@@ -315,13 +315,12 @@ FileType Node::fileTypeForFileName(const Utils::FileName &file)
\sa ProjectExplorer::FolderNode, ProjectExplorer::ProjectNode
*/
FileNode::FileNode(const Utils::FileName &filePath, const FileType fileType, bool generated,
FileNode::FileNode(const Utils::FileName &filePath, const FileType fileType,
int line, const QByteArray &id) :
Node(NodeType::File, filePath, line, id),
m_fileType(fileType)
{
setListInProject(true);
setIsGenerated(generated);
if (fileType == FileType::Project)
setPriority(DefaultProjectFilePriority);
else
@@ -330,7 +329,8 @@ FileNode::FileNode(const Utils::FileName &filePath, const FileType fileType, boo
FileNode *FileNode::clone() const
{
auto fn = new FileNode(filePath(), fileType(), isGenerated(), line(), id());
auto fn = new FileNode(filePath(), fileType(), line(), id());
fn->setIsGenerated(isGenerated());
fn->setEnabled(isEnabled());
fn->setPriority(priority());
fn->setListInProject(listInProject());

View File

@@ -155,6 +155,7 @@ public:
void setParentFolderNode(FolderNode *parentFolder);
void setListInProject(bool l);
void setIsGenerated(bool g);
static FileType fileTypeForMimeType(const Utils::MimeType &mt);
static FileType fileTypeForFileName(const Utils::FileName &file);
@@ -164,7 +165,6 @@ protected:
const QByteArray &id = {});
void setPriority(int priority);
void setIsGenerated(bool g);
private:
FolderNode *m_parentFolderNode = nullptr;
@@ -185,7 +185,7 @@ private:
class PROJECTEXPLORER_EXPORT FileNode : public Node
{
public:
FileNode(const Utils::FileName &filePath, const FileType fileType, bool generated, int line = -1,
FileNode(const Utils::FileName &filePath, const FileType fileType, int line = -1,
const QByteArray &id = {});
FileNode *clone() const;

View File

@@ -471,7 +471,7 @@ class PythonFileNode : public FileNode
public:
PythonFileNode(const Utils::FileName &filePath, const QString &nodeDisplayName,
FileType fileType = FileType::Source)
: FileNode(filePath, fileType, false)
: FileNode(filePath, fileType)
, m_displayName(nodeDisplayName)
{}

View File

@@ -236,10 +236,9 @@ static bool supportsNodeAction(ProjectAction action, const Node *node)
QbsFileNode::QbsFileNode(const Utils::FileName &filePath,
const ProjectExplorer::FileType fileType,
bool generated,
int line) :
ProjectExplorer::FileNode(filePath, fileType, generated, line)
{ }
ProjectExplorer::FileNode(filePath, fileType, line, QByteArray{})
{}
QString QbsFileNode::displayName() const
{

View File

@@ -42,7 +42,7 @@ class QbsProject;
class QbsFileNode : public ProjectExplorer::FileNode
{
public:
QbsFileNode(const Utils::FileName &filePath, const ProjectExplorer::FileType fileType, bool generated,
QbsFileNode(const Utils::FileName &filePath, const ProjectExplorer::FileType fileType,
int line);
QString displayName() const override;

View File

@@ -73,7 +73,8 @@ void setupArtifacts(ProjectExplorer::FolderNode *root, const QList<qbs::Artifact
QLatin1String("linkerscript"),
QLatin1String("qrc"), QLatin1String("java.java")
};
auto node = std::make_unique<ProjectExplorer::FileNode>(path, type, isGenerated);
auto node = std::make_unique<ProjectExplorer::FileNode>(path, type);
node->setIsGenerated(isGenerated);
node->setListInProject(!isGenerated || ad.fileTags().toSet().intersects(sourceTags));
root->addNestedNode(std::move(node));
}
@@ -93,7 +94,7 @@ buildGroupNodeTree(const qbs::GroupData &grp, const QString &productPath, bool p
result->setDisplayName(grp.name());
result->addNode(std::make_unique<QbsProjectManager::Internal::QbsFileNode>(
Utils::FileName::fromString(grp.location().filePath()),
ProjectExplorer::FileType::Project, false,
ProjectExplorer::FileType::Project,
grp.location().line()));
::setupArtifacts(result.get(), grp.allSourceArtifacts());
@@ -114,7 +115,7 @@ void setupQbsProductData(QbsProjectManager::Internal::QbsProductNode *node,
// Add QbsFileNode:
node->addNode(std::make_unique<QbsFileNode>(Utils::FileName::fromString(prd.location().filePath()),
ProjectExplorer::FileType::Project, false,
ProjectExplorer::FileType::Project,
prd.location().line()));
@@ -150,7 +151,7 @@ void setupProjectNode(QbsProjectManager::Internal::QbsProjectNode *node, const q
{
using namespace QbsProjectManager::Internal;
node->addNode(std::make_unique<QbsFileNode>(Utils::FileName::fromString(prjData.location().filePath()),
ProjectExplorer::FileType::Project, false,
ProjectExplorer::FileType::Project,
prjData.location().line()));
foreach (const qbs::ProjectData &subData, prjData.subProjects()) {
auto subProject =
@@ -222,7 +223,7 @@ std::unique_ptr<QbsRootProjectNode> QbsNodeTreeBuilder::buildTree(QbsProject *pr
for (const QString &f : files) {
const Utils::FileName filePath = Utils::FileName::fromString(f);
if (filePath.isChildOf(base))
buildSystemFiles->addNestedNode(std::make_unique<ProjectExplorer::FileNode>(filePath, ProjectExplorer::FileType::Project, false));
buildSystemFiles->addNestedNode(std::make_unique<ProjectExplorer::FileNode>(filePath, ProjectExplorer::FileType::Project));
}
buildSystemFiles->compress();
root->addNode(std::move(buildSystemFiles));

View File

@@ -137,7 +137,7 @@ static void createTree(const QmakePriFile *pri, QmakePriFileNode *node, const Fi
node->setIcon(qmakeStaticData()->projectIcon);
// .pro/.pri-file itself:
node->addNode(std::make_unique<FileNode>(pri->filePath(), FileType::Project, false));
node->addNode(std::make_unique<FileNode>(pri->filePath(), FileType::Project));
// other normal files:
const QVector<QmakeStaticData::FileTypeData> &fileTypes = qmakeStaticData()->fileTypeData;
@@ -175,7 +175,7 @@ static void createTree(const QmakePriFile *pri, QmakePriFileNode *node, const Fi
// qt quick compiler moves qrc files into it:-/ Get better data based on
// the filename.
type = FileNode::fileTypeForFileName(fn);
vfolder->addNestedNode(std::make_unique<FileNode>(fn, type, false));
vfolder->addNestedNode(std::make_unique<FileNode>(fn, type));
}
for (FolderNode *fn : vfolder->folderNodes())
fn->compress();

View File

@@ -56,13 +56,13 @@ public:
ProjectExplorer::Project(QString(), file, {})
{
auto fileNode
= std::make_unique<ProjectExplorer::FileNode>(file, ProjectExplorer::FileType::Source, false);
= std::make_unique<ProjectExplorer::FileNode>(file, ProjectExplorer::FileType::Source);
auto root = std::make_unique<DummyProjectNode>(file);
root->addNode(std::move(fileNode));
fileNode = std::make_unique<ProjectExplorer::FileNode>(
Utils::FileName::fromLatin1(
":/qmlprofiler/tests/qmlprofilerdetailsrewriter_test.cpp"),
ProjectExplorer::FileType::Source, false);
ProjectExplorer::FileType::Source);
root->addNode(std::move(fileNode));
setRootProjectNode(std::move(root));
setDisplayName(file.toString());

View File

@@ -358,9 +358,9 @@ void QmlProject::generateProjectTree()
const Utils::FileName fileName = Utils::FileName::fromString(f);
const FileType fileType = (fileName == projectFilePath())
? FileType::Project : FileNode::fileTypeForFileName(fileName);
newRoot->addNestedNode(std::make_unique<FileNode>(fileName, fileType, false));
newRoot->addNestedNode(std::make_unique<FileNode>(fileName, fileType));
}
newRoot->addNestedNode(std::make_unique<FileNode>(projectFilePath(), FileType::Project, false));
newRoot->addNestedNode(std::make_unique<FileNode>(projectFilePath(), FileType::Project));
setRootProjectNode(std::move(newRoot));
refreshTargetDirectory();

View File

@@ -659,7 +659,7 @@ ResourceTopLevelNode *ResourceFolderNode::resourceNode() const
}
ResourceFileNode::ResourceFileNode(const FileName &filePath, const QString &qrcPath, const QString &displayName)
: FileNode(filePath, FileNode::fileTypeForFileName(filePath), false)
: FileNode(filePath, FileNode::fileTypeForFileName(filePath))
, m_qrcPath(qrcPath)
, m_displayName(displayName)
{