ProjectNodes: Move isGenerated from FileNode to Node

We have complex nodes like the ResourceTopLevelNode which can be generated.

Change-Id: Ifdbe72323b668961c50252f597a0bf67ec41f30b
Reviewed-by: hjk <hjk@qt.io>
This commit is contained in:
Tobias Hunger
2017-05-03 12:36:44 +02:00
parent cea68a3fe3
commit 4593092649
2 changed files with 19 additions and 12 deletions

View File

@@ -127,6 +127,11 @@ void Node::setPriority(int p)
m_priority = p;
}
void Node::setIsGenerated(bool g)
{
m_flags.setFlag(FlagIsGenerated, g);
}
void Node::setAbsoluteFilePathAndLine(const Utils::FileName &path, int line)
{
if (m_filePath == path && m_line == line)
@@ -215,6 +220,14 @@ bool Node::isEnabled() const
return parent ? parent->isEnabled() : true;
}
/*!
Returns \c true if the file is automatically generated by a compile step.
*/
bool Node::isGenerated() const
{
return m_flags.testFlag(FlagIsGenerated);
}
bool Node::supportsAction(ProjectAction, Node *) const
{
return false;
@@ -276,9 +289,9 @@ FileType Node::fileTypeForFileName(const Utils::FileName &file)
FileNode::FileNode(const Utils::FileName &filePath,
const FileType fileType,
bool generated, int line) : Node(NodeType::File, filePath, line),
m_fileType(fileType),
m_generated(generated)
m_fileType(fileType)
{
setIsGenerated(generated);
if (fileType == FileType::Project)
setPriority(DefaultProjectFilePriority);
else
@@ -298,14 +311,6 @@ FileType FileNode::fileType() const
return m_fileType;
}
/*!
Returns \c true if the file is automatically generated by a compile step.
*/
bool FileNode::isGenerated() const
{
return m_generated;
}
static QList<FileNode *> scanForFilesRecursively(const Utils::FileName &directory,
const std::function<FileNode *(const Utils::FileName &)> factory,
QSet<QString> &visited, QFutureInterface<QList<FileNode*>> *future,
@@ -385,6 +390,7 @@ FolderNode::FolderNode(const Utils::FileName &folderPath, NodeType nodeType, con
m_displayName(displayName)
{
setPriority(DefaultFolderPriority);
setIsGenerated(false);
if (m_displayName.isEmpty())
m_displayName = folderPath.toUserOutput();
}