ProjectExplorer: Rename Node::projectNode to Node::parentProjectNode

Change-Id: I47fa794a0bd8456ae23271934a957d9667d2d7bb
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
This commit is contained in:
Tobias Hunger
2016-11-09 13:39:59 +01:00
parent c7b0163fcb
commit ad003363b7
12 changed files with 44 additions and 42 deletions

View File

@@ -2914,7 +2914,7 @@ void ProjectExplorerPluginPrivate::updateContextMenuActions()
Node *currentNode = ProjectTree::currentNode(); Node *currentNode = ProjectTree::currentNode();
if (currentNode && currentNode->projectNode()) { if (currentNode && currentNode->parentProjectNode()) {
QList<ProjectAction> actions = currentNode->supportedActions(currentNode); QList<ProjectAction> actions = currentNode->supportedActions(currentNode);
if (ProjectNode *pn = currentNode->asProjectNode()) { if (ProjectNode *pn = currentNode->asProjectNode()) {
@@ -3082,7 +3082,7 @@ void ProjectExplorerPlugin::addExistingFiles(FolderNode *folderNode, const QStri
if (!notAdded.isEmpty()) { if (!notAdded.isEmpty()) {
const QString message = tr("Could not add following files to project %1:") const QString message = tr("Could not add following files to project %1:")
.arg(folderNode->projectNode()->displayName()) + QLatin1Char('\n'); .arg(folderNode->parentProjectNode()->displayName()) + QLatin1Char('\n');
const QStringList nativeFiles const QStringList nativeFiles
= Utils::transform(notAdded, = Utils::transform(notAdded,
[](const QString &f) { return QDir::toNativeSeparators(f); }); [](const QString &f) { return QDir::toNativeSeparators(f); });
@@ -3100,7 +3100,7 @@ void ProjectExplorerPluginPrivate::removeProject()
Node *node = ProjectTree::currentNode(); Node *node = ProjectTree::currentNode();
if (!node) if (!node)
return; return;
ProjectNode *subProjectNode = node->projectNode(); ProjectNode *subProjectNode = node->parentProjectNode();
if (!subProjectNode) if (!subProjectNode)
return; return;
ProjectNode *projectNode = subProjectNode->parentFolderNode()->asProjectNode(); ProjectNode *projectNode = subProjectNode->parentFolderNode()->asProjectNode();
@@ -3157,7 +3157,7 @@ void ProjectExplorerPluginPrivate::removeFile()
QMessageBox::warning(ICore::mainWindow(), tr("Removing File Failed"), QMessageBox::warning(ICore::mainWindow(), tr("Removing File Failed"),
tr("Could not remove file %1 from project %2.") tr("Could not remove file %1 from project %2.")
.arg(QDir::toNativeSeparators(filePath)) .arg(QDir::toNativeSeparators(filePath))
.arg(folderNode->projectNode()->displayName())); .arg(folderNode->parentProjectNode()->displayName()));
if (!deleteFile) if (!deleteFile)
return; return;
} }
@@ -3251,7 +3251,7 @@ void ProjectExplorerPlugin::renameFile(Node *node, const QString &newFilePath)
{ {
const QString oldFilePath = node->filePath().toFileInfo().absoluteFilePath(); const QString oldFilePath = node->filePath().toFileInfo().absoluteFilePath();
FolderNode *folderNode = node->parentFolderNode(); FolderNode *folderNode = node->parentFolderNode();
const QString projectFileName = folderNode->projectNode()->filePath().fileName(); const QString projectFileName = folderNode->parentProjectNode()->filePath().fileName();
if (oldFilePath == newFilePath) if (oldFilePath == newFilePath)
return; return;

View File

@@ -96,7 +96,7 @@ NodeType Node::nodeType() const
The project that owns and manages the node. It is the first project in the list The project that owns and manages the node. It is the first project in the list
of ancestors. of ancestors.
*/ */
ProjectNode *Node::projectNode() const ProjectNode *Node::parentProjectNode() const
{ {
return m_projectNode; return m_projectNode;
} }
@@ -485,36 +485,36 @@ QString FolderNode::addFileFilter() const
bool FolderNode::addFiles(const QStringList &filePaths, QStringList *notAdded) bool FolderNode::addFiles(const QStringList &filePaths, QStringList *notAdded)
{ {
if (projectNode()) if (parentProjectNode())
return projectNode()->addFiles(filePaths, notAdded); return parentProjectNode()->addFiles(filePaths, notAdded);
return false; return false;
} }
bool FolderNode::removeFiles(const QStringList &filePaths, QStringList *notRemoved) bool FolderNode::removeFiles(const QStringList &filePaths, QStringList *notRemoved)
{ {
if (projectNode()) if (parentProjectNode())
return projectNode()->removeFiles(filePaths, notRemoved); return parentProjectNode()->removeFiles(filePaths, notRemoved);
return false; return false;
} }
bool FolderNode::deleteFiles(const QStringList &filePaths) bool FolderNode::deleteFiles(const QStringList &filePaths)
{ {
if (projectNode()) if (parentProjectNode())
return projectNode()->deleteFiles(filePaths); return parentProjectNode()->deleteFiles(filePaths);
return false; return false;
} }
bool FolderNode::canRenameFile(const QString &filePath, const QString &newFilePath) bool FolderNode::canRenameFile(const QString &filePath, const QString &newFilePath)
{ {
if (projectNode()) if (parentProjectNode())
return projectNode()->canRenameFile(filePath, newFilePath); return parentProjectNode()->canRenameFile(filePath, newFilePath);
return false; return false;
} }
bool FolderNode::renameFile(const QString &filePath, const QString &newFilePath) bool FolderNode::renameFile(const QString &filePath, const QString &newFilePath)
{ {
if (projectNode()) if (parentProjectNode())
return projectNode()->renameFile(filePath, newFilePath); return parentProjectNode()->renameFile(filePath, newFilePath);
return false; return false;
} }
@@ -534,7 +534,7 @@ FolderNode::AddNewInformation FolderNode::addNewInformation(const QStringList &f
void FolderNode::addFileNodes(const QList<FileNode *> &files) void FolderNode::addFileNodes(const QList<FileNode *> &files)
{ {
Q_ASSERT(projectNode()); Q_ASSERT(parentProjectNode());
if (files.isEmpty()) if (files.isEmpty())
return; return;
@@ -545,7 +545,7 @@ void FolderNode::addFileNodes(const QList<FileNode *> &files)
qDebug("File node has already a parent folder")); qDebug("File node has already a parent folder"));
file->setParentFolderNode(this); file->setParentFolderNode(this);
file->setProjectNode(projectNode()); file->setProjectNode(parentProjectNode());
// Now find the correct place to insert file // Now find the correct place to insert file
if (m_fileNodes.count() == 0 if (m_fileNodes.count() == 0
|| m_fileNodes.last() < file) { || m_fileNodes.last() < file) {
@@ -570,7 +570,7 @@ void FolderNode::addFileNodes(const QList<FileNode *> &files)
void FolderNode::removeFileNodes(const QList<FileNode *> &files) void FolderNode::removeFileNodes(const QList<FileNode *> &files)
{ {
Q_ASSERT(projectNode()); Q_ASSERT(parentProjectNode());
if (files.isEmpty()) if (files.isEmpty())
return; return;
@@ -601,7 +601,7 @@ void FolderNode::removeFileNodes(const QList<FileNode *> &files)
*/ */
void FolderNode::addFolderNodes(const QList<FolderNode*> &subFolders) void FolderNode::addFolderNodes(const QList<FolderNode*> &subFolders)
{ {
Q_ASSERT(projectNode()); Q_ASSERT(parentProjectNode());
if (subFolders.isEmpty()) if (subFolders.isEmpty())
return; return;
@@ -611,7 +611,7 @@ void FolderNode::addFolderNodes(const QList<FolderNode*> &subFolders)
QTC_ASSERT(!folder->parentFolderNode(), QTC_ASSERT(!folder->parentFolderNode(),
qDebug("Project node has already a parent folder")); qDebug("Project node has already a parent folder"));
folder->setParentFolderNode(this); folder->setParentFolderNode(this);
folder->setProjectNode(projectNode()); folder->setProjectNode(parentProjectNode());
// Find the correct place to insert // Find the correct place to insert
if (m_folderNodes.count() == 0 if (m_folderNodes.count() == 0
@@ -640,7 +640,7 @@ void FolderNode::addFolderNodes(const QList<FolderNode*> &subFolders)
*/ */
void FolderNode::removeFolderNodes(const QList<FolderNode*> &subFolders) void FolderNode::removeFolderNodes(const QList<FolderNode*> &subFolders)
{ {
Q_ASSERT(projectNode()); Q_ASSERT(parentProjectNode());
if (subFolders.isEmpty()) if (subFolders.isEmpty())
return; return;

View File

@@ -109,7 +109,7 @@ class PROJECTEXPLORER_EXPORT Node
public: public:
virtual ~Node() = default; virtual ~Node() = default;
NodeType nodeType() const; NodeType nodeType() const;
ProjectNode *projectNode() const; // managing project ProjectNode *parentProjectNode() const; // managing project
FolderNode *parentFolderNode() const; // parent folder or project FolderNode *parentFolderNode() const; // parent folder or project
const Utils::FileName &filePath() const; // file system path const Utils::FileName &filePath() const; // file system path
int line() const; int line() const;

View File

@@ -341,10 +341,10 @@ void ProjectTree::emitFoldersAboutToBeRemoved(FolderNode *parentFolder, const QL
while (n) { while (n) {
if (FolderNode *fn = n->asFolderNode()) { if (FolderNode *fn = n->asFolderNode()) {
if (staleFolders.contains(fn)) { if (staleFolders.contains(fn)) {
ProjectNode *pn = n->projectNode(); ProjectNode *pn = n->parentProjectNode();
// Make sure the node we are switching too isn't going to be removed also // Make sure the node we are switching too isn't going to be removed also
while (staleFolders.contains(pn)) while (staleFolders.contains(pn))
pn = pn->parentFolderNode()->projectNode(); pn = pn->parentFolderNode()->parentProjectNode();
m_resetCurrentNodeFolder = true; m_resetCurrentNodeFolder = true;
break; break;
} }

View File

@@ -87,7 +87,7 @@ QIcon QbsProductNode::m_productIcon;
static QbsProjectNode *parentQbsProjectNode(ProjectExplorer::Node *node) static QbsProjectNode *parentQbsProjectNode(ProjectExplorer::Node *node)
{ {
for (ProjectExplorer::FolderNode *pn = node->projectNode(); pn; pn = pn->parentFolderNode()) { for (ProjectExplorer::FolderNode *pn = node->parentProjectNode(); pn; pn = pn->parentFolderNode()) {
QbsProjectNode *prjNode = dynamic_cast<QbsProjectNode *>(pn); QbsProjectNode *prjNode = dynamic_cast<QbsProjectNode *>(pn);
if (prjNode) if (prjNode)
return prjNode; return prjNode;
@@ -719,7 +719,7 @@ void QbsProductNode::setQbsProductData(const qbs::Project &project, const qbs::P
QList<ProjectExplorer::RunConfiguration *> QbsProductNode::runConfigurations() const QList<ProjectExplorer::RunConfiguration *> QbsProductNode::runConfigurations() const
{ {
QList<ProjectExplorer::RunConfiguration *> result; QList<ProjectExplorer::RunConfiguration *> result;
QbsProjectNode *pn = dynamic_cast<QbsProjectNode *>(projectNode()); QbsProjectNode *pn = dynamic_cast<QbsProjectNode *>(parentProjectNode());
if (!isEnabled() || !pn || m_qbsProductData.targetExecutable().isEmpty()) if (!isEnabled() || !pn || m_qbsProductData.targetExecutable().isEmpty())
return result; return result;

View File

@@ -259,7 +259,9 @@ void QbsProjectManagerPlugin::updateContextActions()
&& m_selectedNode && m_selectedNode->isEnabled(); && m_selectedNode && m_selectedNode->isEnabled();
bool isFile = m_selectedProject && m_selectedNode && (m_selectedNode->nodeType() == NodeType::File); bool isFile = m_selectedProject && m_selectedNode && (m_selectedNode->nodeType() == NodeType::File);
bool isProduct = m_selectedProject && m_selectedNode && dynamic_cast<QbsProductNode *>(m_selectedNode->projectNode()); bool isProduct = m_selectedProject
&& m_selectedNode
&& dynamic_cast<QbsProductNode *>(m_selectedNode->parentProjectNode());
QbsProjectNode *subproject = dynamic_cast<QbsProjectNode *>(m_selectedNode); QbsProjectNode *subproject = dynamic_cast<QbsProjectNode *>(m_selectedNode);
bool isSubproject = m_selectedProject && subproject && subproject != m_selectedProject->rootProjectNode(); bool isSubproject = m_selectedProject && subproject && subproject != m_selectedProject->rootProjectNode();
@@ -293,10 +295,10 @@ void QbsProjectManagerPlugin::updateBuildActions()
&& !m_editorProject->isParsing(); && !m_editorProject->isParsing();
fileName = m_editorNode->filePath().fileName(); fileName = m_editorNode->filePath().fileName();
fileVisible = m_editorProject && m_editorNode && dynamic_cast<QbsBaseProjectNode *>(m_editorNode->projectNode()); fileVisible = m_editorProject && m_editorNode && dynamic_cast<QbsBaseProjectNode *>(m_editorNode->parentProjectNode());
QbsProductNode *productNode QbsProductNode *productNode
= dynamic_cast<QbsProductNode *>(m_editorNode ? m_editorNode->projectNode() : 0); = dynamic_cast<QbsProductNode *>(m_editorNode ? m_editorNode->parentProjectNode() : 0);
if (productNode) { if (productNode) {
productVisible = true; productVisible = true;
productName = productNode->displayName(); productName = productNode->displayName();
@@ -393,7 +395,7 @@ void QbsProjectManagerPlugin::buildProduct()
if (!m_editorProject || !m_editorNode) if (!m_editorProject || !m_editorNode)
return; return;
QbsProductNode *product = dynamic_cast<QbsProductNode *>(m_editorNode->projectNode()); QbsProductNode *product = dynamic_cast<QbsProductNode *>(m_editorNode->parentProjectNode());
if (!product) if (!product)
return; return;
@@ -423,7 +425,7 @@ void QbsProjectManagerPlugin::buildSubproject()
return; return;
QbsProjectNode *subproject = 0; QbsProjectNode *subproject = 0;
QbsBaseProjectNode *start = dynamic_cast<QbsBaseProjectNode *>(m_editorNode->projectNode()); QbsBaseProjectNode *start = dynamic_cast<QbsBaseProjectNode *>(m_editorNode->parentProjectNode());
while (start && start != m_editorProject->rootProjectNode()) { while (start && start != m_editorProject->rootProjectNode()) {
QbsProjectNode *tmp = dynamic_cast<QbsProjectNode *>(start); QbsProjectNode *tmp = dynamic_cast<QbsProjectNode *>(start);
if (tmp) { if (tmp) {

View File

@@ -578,7 +578,7 @@ struct InternalNode
nodesToAdd.reserve(resourcesToAdd.size()); nodesToAdd.reserve(resourcesToAdd.size());
foreach (const FileName &file, resourcesToAdd) { foreach (const FileName &file, resourcesToAdd) {
auto vfs = static_cast<QmakePriFileNode *>(folder->projectNode())->m_project->qmakeVfs(); auto vfs = static_cast<QmakePriFileNode *>(folder->parentProjectNode())->m_project->qmakeVfs();
QString contents; QString contents;
// Prefer the cumulative file if it's non-empty, based on the assumption // Prefer the cumulative file if it's non-empty, based on the assumption
// that it contains more "stuff". // that it contains more "stuff".
@@ -1110,7 +1110,7 @@ bool QmakePriFileNode::renameFile(const QString &filePath, const QString &newFil
FolderNode::AddNewInformation QmakePriFileNode::addNewInformation(const QStringList &files, Node *context) const FolderNode::AddNewInformation QmakePriFileNode::addNewInformation(const QStringList &files, Node *context) const
{ {
Q_UNUSED(files) Q_UNUSED(files)
return FolderNode::AddNewInformation(filePath().fileName(), context && context->projectNode() == this ? 120 : 90); return FolderNode::AddNewInformation(filePath().fileName(), context && context->parentProjectNode() == this ? 120 : 90);
} }
bool QmakePriFileNode::priFileWritable(const QString &path) bool QmakePriFileNode::priFileWritable(const QString &path)
@@ -1637,7 +1637,7 @@ bool QmakeProFileNode::showInSimpleTree() const
FolderNode::AddNewInformation QmakeProFileNode::addNewInformation(const QStringList &files, Node *context) const FolderNode::AddNewInformation QmakeProFileNode::addNewInformation(const QStringList &files, Node *context) const
{ {
Q_UNUSED(files) Q_UNUSED(files)
return AddNewInformation(filePath().fileName(), context && context->projectNode() == this ? 120 : 100); return AddNewInformation(filePath().fileName(), context && context->parentProjectNode() == this ? 120 : 100);
} }
bool QmakeProFileNode::showInSimpleTree(QmakeProjectType projectType) const bool QmakeProFileNode::showInSimpleTree(QmakeProjectType projectType) const

View File

@@ -221,7 +221,7 @@ void QmakeManager::buildFile()
Project *project = SessionManager::projectForFile(file); Project *project = SessionManager::projectForFile(file);
if (project && node) if (project && node)
handleSubDirContextMenu(BUILD, true, project, node->projectNode(), node); handleSubDirContextMenu(BUILD, true, project, node->parentProjectNode(), node);
} }
} }

View File

@@ -323,7 +323,7 @@ void QmakeProjectManagerPlugin::updateContextActions(ProjectExplorer::Node *node
auto qmakeProject = qobject_cast<QmakeProject *>(project); auto qmakeProject = qobject_cast<QmakeProject *>(project);
QmakeProFileNode *subProjectNode = nullptr; QmakeProFileNode *subProjectNode = nullptr;
if (node) { if (node) {
if (auto subPriFileNode = dynamic_cast<QmakePriFileNode *>(node->projectNode())) if (auto subPriFileNode = dynamic_cast<QmakePriFileNode *>(node->parentProjectNode()))
subProjectNode = subPriFileNode->proFileNode(); subProjectNode = subPriFileNode->proFileNode();
} }
ProjectExplorer::FileNode *fileNode = node ? node->asFileNode() : nullptr; ProjectExplorer::FileNode *fileNode = node ? node->asFileNode() : nullptr;
@@ -397,7 +397,7 @@ void QmakeProjectManagerPlugin::updateBuildFileAction()
m_buildFileAction->setParameter(file.fileName()); m_buildFileAction->setParameter(file.fileName());
visible = qobject_cast<QmakeProject *>(project) visible = qobject_cast<QmakeProject *>(project)
&& node && node
&& dynamic_cast<QmakePriFileNode *>(node->projectNode()); && dynamic_cast<QmakePriFileNode *>(node->parentProjectNode());
enabled = !BuildManager::isBuilding(project); enabled = !BuildManager::isBuilding(project);
} }

View File

@@ -399,7 +399,7 @@ void DocumentManager::findPathToIsoProFile(bool *iconResourceFileAlreadyExists,
qCDebug(documentManagerLog) << "Found" << isoIconsQrcFile << "in" << virtualFolderNode->filePath(); qCDebug(documentManagerLog) << "Found" << isoIconsQrcFile << "in" << virtualFolderNode->filePath();
iconQrcFileNode = subFolderNode; iconQrcFileNode = subFolderNode;
*resourceFileProPath = iconQrcFileNode->projectNode()->filePath().toString(); *resourceFileProPath = iconQrcFileNode->parentProjectNode()->filePath().toString();
} }
} }
} }
@@ -416,7 +416,7 @@ void DocumentManager::findPathToIsoProFile(bool *iconResourceFileAlreadyExists,
*resourceFilePath = project->projectDirectory().toString() + "/" + isoIconsQrcFile; *resourceFilePath = project->projectDirectory().toString() + "/" + isoIconsQrcFile;
// We assume that the .pro containing the QML file is an acceptable place to add the .qrc file. // We assume that the .pro containing the QML file is an acceptable place to add the .qrc file.
ProjectExplorer::ProjectNode *projectNode = ProjectExplorer::SessionManager::nodeForFile(qmlFileName)->projectNode(); ProjectExplorer::ProjectNode *projectNode = ProjectExplorer::SessionManager::nodeForFile(qmlFileName)->parentProjectNode();
*resourceFileProPath = projectNode->filePath().toString(); *resourceFileProPath = projectNode->filePath().toString();
} else { } else {
// We found the QRC file that we want. // We found the QRC file that we want.

View File

@@ -345,7 +345,7 @@ ProjectExplorer::FolderNode::AddNewInformation ResourceTopLevelNode::addNewInfor
p = 110; p = 110;
if (context == this) if (context == this)
p = 120; p = 120;
else if (projectNode() == context) else if (parentProjectNode() == context)
p = 150; // steal from our project node p = 150; // steal from our project node
// The ResourceFolderNode '/' defers to us, as otherwise // The ResourceFolderNode '/' defers to us, as otherwise
// two nodes would be responsible for '/' // two nodes would be responsible for '/'

View File

@@ -146,7 +146,7 @@ void TodoItemsProvider::setItemsListWithinSubproject()
// TODO prefer current editor as source of sub-project // TODO prefer current editor as source of sub-project
Node *node = ProjectTree::currentNode(); Node *node = ProjectTree::currentNode();
if (node) { if (node) {
ProjectNode *projectNode = node->projectNode(); ProjectNode *projectNode = node->parentProjectNode();
if (projectNode) { if (projectNode) {
FindAllFilesVisitor filesVisitor; FindAllFilesVisitor filesVisitor;