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:
@@ -36,6 +36,7 @@
|
||||
#include "editorconfiguration.h"
|
||||
#include "kit.h"
|
||||
#include "projectexplorer.h"
|
||||
#include "projectnodes.h"
|
||||
#include "target.h"
|
||||
#include "session.h"
|
||||
#include "settingsaccessor.h"
|
||||
@@ -95,6 +96,7 @@ public:
|
||||
Core::Id m_id;
|
||||
Core::IDocument *m_document = 0;
|
||||
IProjectManager *m_manager = 0;
|
||||
ProjectNode *m_rootProjectNode = 0;
|
||||
QList<Target *> m_targets;
|
||||
Target *m_activeTarget = 0;
|
||||
EditorConfiguration m_editorConfiguration;
|
||||
@@ -111,8 +113,13 @@ public:
|
||||
|
||||
ProjectPrivate::~ProjectPrivate()
|
||||
{
|
||||
delete m_accessor;
|
||||
// Make sure our root node is 0 when deleting
|
||||
ProjectNode *oldNode = m_rootProjectNode;
|
||||
m_rootProjectNode = 0;
|
||||
delete oldNode;
|
||||
|
||||
delete m_document;
|
||||
delete m_accessor;
|
||||
}
|
||||
|
||||
Project::Project() : d(new ProjectPrivate)
|
||||
@@ -432,6 +439,13 @@ void Project::setProjectManager(IProjectManager *manager)
|
||||
d->m_manager = manager;
|
||||
}
|
||||
|
||||
void Project::setRootProjectNode(ProjectNode *root)
|
||||
{
|
||||
ProjectNode *oldNode = d->m_rootProjectNode;
|
||||
d->m_rootProjectNode = root;
|
||||
delete oldNode;
|
||||
}
|
||||
|
||||
Target *Project::restoreTarget(const QVariantMap &data)
|
||||
{
|
||||
Core::Id id = idFromMap(data);
|
||||
@@ -522,6 +536,11 @@ IProjectManager *Project::projectManager() const
|
||||
return d->m_manager;
|
||||
}
|
||||
|
||||
ProjectNode *Project::rootProjectNode() const
|
||||
{
|
||||
return d->m_rootProjectNode;
|
||||
}
|
||||
|
||||
Project::RestoreResult Project::fromMap(const QVariantMap &map, QString *errorMessage)
|
||||
{
|
||||
Q_UNUSED(errorMessage);
|
||||
|
||||
Reference in New Issue
Block a user