Project: Add setRootProjectNode method

Add setRootProjectNode method and a default implementation of
rootProjectNode to Project. Use that in all derived classes.

Change-Id: Id28cde04457a20a8963d43020785ef9d77fea57c
Reviewed-by: Niels Weber <niels.weber@theqtcompany.com>
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
This commit is contained in:
Tobias Hunger
2016-01-08 12:49:00 +01:00
parent 219b2d9c16
commit d144ea58e0
28 changed files with 101 additions and 159 deletions

View File

@@ -72,6 +72,7 @@ GenericProject::GenericProject(Manager *manager, const QString &fileName)
setId(Constants::GENERICPROJECT_ID);
setProjectManager(manager);
setDocument(new GenericProjectFile(this, fileName, GenericProject::Everything));
setRootProjectNode(new GenericProjectNode(this));
setProjectContext(Context(GenericProjectManager::Constants::PROJECTCONTEXT));
setProjectLanguages(Context(ProjectExplorer::Constants::LANG_CXX));
@@ -92,8 +93,6 @@ GenericProject::GenericProject(Manager *manager, const QString &fileName)
DocumentManager::addDocument(m_includesIDocument);
DocumentManager::addDocument(m_configIDocument);
m_rootNode = new GenericProjectNode(this);
FileNode *projectFilesNode = new FileNode(Utils::FileName::fromString(m_filesFileName),
ProjectFileType,
/* generated = */ false);
@@ -106,10 +105,8 @@ GenericProject::GenericProject(Manager *manager, const QString &fileName)
ProjectFileType,
/* generated = */ false);
m_rootNode->addFileNodes(QList<FileNode *>()
<< projectFilesNode
<< projectIncludesNode
<< projectConfigNode);
rootProjectNode()->addFileNodes(QList<FileNode *>() << projectFilesNode
<< projectIncludesNode << projectConfigNode);
projectManager()->registerProject(this);
}
@@ -118,8 +115,6 @@ GenericProject::~GenericProject()
{
m_codeModelFuture.cancel();
projectManager()->unregisterProject(this);
delete m_rootNode;
}
QString GenericProject::filesFileName() const
@@ -281,7 +276,7 @@ void GenericProject::refresh(RefreshOptions options)
parseProject(options);
if (options & Files)
m_rootNode->refresh(oldFileList);
static_cast<GenericProjectNode *>(rootProjectNode())->refresh(oldFileList);
refreshCppCodeModel();
}
@@ -392,11 +387,6 @@ Manager *GenericProject::projectManager() const
return static_cast<Manager *>(Project::projectManager());
}
GenericProjectNode *GenericProject::rootProjectNode() const
{
return m_rootNode;
}
QStringList GenericProject::files(FilesMode fileMode) const
{
Q_UNUSED(fileMode);