forked from qt-creator/qt-creator
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:
@@ -65,14 +65,13 @@ QmlProject::QmlProject(Internal::Manager *manager, const Utils::FileName &fileNa
|
||||
setProjectManager(manager);
|
||||
setDocument(new Internal::QmlProjectFile(this, fileName));
|
||||
DocumentManager::addDocument(document(), true);
|
||||
setRootProjectNode(new Internal::QmlProjectNode(this));
|
||||
|
||||
setProjectContext(Context(QmlProjectManager::Constants::PROJECTCONTEXT));
|
||||
setProjectLanguages(Context(ProjectExplorer::Constants::LANG_QMLJS));
|
||||
|
||||
m_projectName = projectFilePath().toFileInfo().completeBaseName();
|
||||
|
||||
m_rootNode = new Internal::QmlProjectNode(this);
|
||||
|
||||
projectManager()->registerProject(this);
|
||||
}
|
||||
|
||||
@@ -81,7 +80,6 @@ QmlProject::~QmlProject()
|
||||
projectManager()->unregisterProject(this);
|
||||
|
||||
delete m_projectItem.data();
|
||||
delete m_rootNode;
|
||||
}
|
||||
|
||||
void QmlProject::addedTarget(Target *target)
|
||||
@@ -177,7 +175,7 @@ void QmlProject::parseProject(RefreshOptions options)
|
||||
}
|
||||
}
|
||||
}
|
||||
m_rootNode->refresh();
|
||||
rootProjectNode()->refresh();
|
||||
}
|
||||
|
||||
if (options & Configuration) {
|
||||
@@ -193,7 +191,7 @@ void QmlProject::refresh(RefreshOptions options)
|
||||
parseProject(options);
|
||||
|
||||
if (options & Files)
|
||||
m_rootNode->refresh();
|
||||
rootProjectNode()->refresh();
|
||||
|
||||
if (!modelManager())
|
||||
return;
|
||||
@@ -323,9 +321,9 @@ bool QmlProject::supportsKit(Kit *k, QString *errorMessage) const
|
||||
return true;
|
||||
}
|
||||
|
||||
ProjectNode *QmlProject::rootProjectNode() const
|
||||
Internal::QmlProjectNode *QmlProject::rootProjectNode() const
|
||||
{
|
||||
return m_rootNode;
|
||||
return static_cast<Internal::QmlProjectNode *>(Project::rootProjectNode());
|
||||
}
|
||||
|
||||
QStringList QmlProject::files(FilesMode) const
|
||||
|
||||
@@ -34,6 +34,7 @@
|
||||
#include "qmlprojectmanager_global.h"
|
||||
|
||||
#include "qmlprojectmanager.h"
|
||||
#include "qmlprojectnodes.h"
|
||||
|
||||
#include <projectexplorer/project.h>
|
||||
|
||||
@@ -47,10 +48,7 @@ namespace QmlProjectManager {
|
||||
|
||||
class QmlProjectItem;
|
||||
|
||||
namespace Internal {
|
||||
class QmlProjectFile;
|
||||
class QmlProjectNode;
|
||||
} // namespace Internal
|
||||
namespace Internal { class QmlProjectFile; }
|
||||
|
||||
class QMLPROJECTMANAGER_EXPORT QmlProject : public ProjectExplorer::Project
|
||||
{
|
||||
@@ -67,7 +65,7 @@ public:
|
||||
|
||||
bool supportsKit(ProjectExplorer::Kit *k, QString *errorMessage) const override;
|
||||
|
||||
ProjectExplorer::ProjectNode *rootProjectNode() const override;
|
||||
Internal::QmlProjectNode *rootProjectNode() const override;
|
||||
QStringList files(FilesMode fileMode) const override;
|
||||
|
||||
bool validProjectFile() const;
|
||||
@@ -118,8 +116,6 @@ private:
|
||||
QStringList m_files;
|
||||
|
||||
QPointer<QmlProjectItem> m_projectItem;
|
||||
|
||||
Internal::QmlProjectNode *m_rootNode;
|
||||
};
|
||||
|
||||
} // namespace QmlProjectManager
|
||||
|
||||
Reference in New Issue
Block a user