summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/plugins/autotoolsprojectmanager/autotoolsproject.cpp7
-rw-r--r--src/plugins/autotoolsprojectmanager/autotoolsproject.h4
-rw-r--r--src/plugins/cmakeprojectmanager/cmakeproject.cpp16
-rw-r--r--src/plugins/cmakeprojectmanager/cmakeproject.h4
-rw-r--r--src/plugins/cpptools/modelmanagertesthelper.h1
-rw-r--r--src/plugins/genericprojectmanager/genericproject.cpp13
-rw-r--r--src/plugins/genericprojectmanager/genericproject.h3
-rw-r--r--src/plugins/projectexplorer/project.cpp13
-rw-r--r--src/plugins/projectexplorer/project.h3
-rw-r--r--src/plugins/pythoneditor/pythoneditorplugin.cpp18
-rw-r--r--src/plugins/qbsprojectmanager/qbsproject.cpp6
-rw-r--r--src/plugins/qbsprojectmanager/qbsproject.h1
-rw-r--r--src/plugins/qmakeprojectmanager/qmakenodes.cpp4
-rw-r--r--src/plugins/qmakeprojectmanager/qmakeproject.cpp15
-rw-r--r--src/plugins/qmakeprojectmanager/qmakeproject.h6
-rw-r--r--src/plugins/qmlprojectmanager/qmlproject.cpp17
-rw-r--r--src/plugins/qmlprojectmanager/qmlproject.h8
17 files changed, 64 insertions, 75 deletions
diff --git a/src/plugins/autotoolsprojectmanager/autotoolsproject.cpp b/src/plugins/autotoolsprojectmanager/autotoolsproject.cpp
index 3e00ededb3..ce1007456d 100644
--- a/src/plugins/autotoolsprojectmanager/autotoolsproject.cpp
+++ b/src/plugins/autotoolsprojectmanager/autotoolsproject.cpp
@@ -72,12 +72,12 @@ using namespace AutotoolsProjectManager::Internal;
using namespace ProjectExplorer;
AutotoolsProject::AutotoolsProject(AutotoolsManager *manager, const QString &fileName) :
- m_manager(manager),
m_fileName(fileName),
m_fileWatcher(new Utils::FileSystemWatcher(this)),
m_makefileParserThread(0)
{
setId(Constants::AUTOTOOLS_PROJECT_ID);
+ setProjectManager(manager);
setDocument(new AutotoolsProjectFile(m_fileName));
m_rootNode = new AutotoolsProjectNode(projectFilePath());
setProjectContext(Core::Context(Constants::PROJECT_CONTEXT));
@@ -110,11 +110,6 @@ QString AutotoolsProject::displayName() const
return m_projectName;
}
-IProjectManager *AutotoolsProject::projectManager() const
-{
- return m_manager;
-}
-
QString AutotoolsProject::defaultBuildDirectory(const QString &projectPath)
{
return QFileInfo(projectPath).absolutePath();
diff --git a/src/plugins/autotoolsprojectmanager/autotoolsproject.h b/src/plugins/autotoolsprojectmanager/autotoolsproject.h
index 03787ecb98..642da6c1bf 100644
--- a/src/plugins/autotoolsprojectmanager/autotoolsproject.h
+++ b/src/plugins/autotoolsprojectmanager/autotoolsproject.h
@@ -74,7 +74,6 @@ public:
~AutotoolsProject() override;
QString displayName() const override;
- ProjectExplorer::IProjectManager *projectManager() const override;
ProjectExplorer::ProjectNode *rootProjectNode() const override;
QStringList files(FilesMode fileMode) const override;
static QString defaultBuildDirectory(const QString &projectPath);
@@ -136,9 +135,6 @@ private:
void updateCppCodeModel();
private:
- /// Project manager that has been passed in the constructor
- AutotoolsManager *m_manager;
-
/// File name of the makefile that has been passed in the constructor
QString m_fileName;
QString m_projectName;
diff --git a/src/plugins/cmakeprojectmanager/cmakeproject.cpp b/src/plugins/cmakeprojectmanager/cmakeproject.cpp
index ff9a747aed..03e5ec9465 100644
--- a/src/plugins/cmakeprojectmanager/cmakeproject.cpp
+++ b/src/plugins/cmakeprojectmanager/cmakeproject.cpp
@@ -87,14 +87,13 @@ using namespace Utils;
/*!
\class CMakeProject
*/
-CMakeProject::CMakeProject(CMakeManager *manager, const FileName &fileName)
- : m_manager(manager),
- m_activeTarget(0),
- m_fileName(fileName),
- m_rootNode(new CMakeProjectNode(fileName)),
- m_watcher(new QFileSystemWatcher(this))
+CMakeProject::CMakeProject(CMakeManager *manager, const FileName &fileName) :
+ m_fileName(fileName),
+ m_rootNode(new CMakeProjectNode(fileName)),
+ m_watcher(new QFileSystemWatcher(this))
{
setId(Constants::CMAKEPROJECT_ID);
+ setProjectManager(manager);
setDocument(new CMakeFile(fileName));
setProjectContext(Core::Context(CMakeProjectManager::Constants::PROJECTCONTEXT));
setProjectLanguages(Core::Context(ProjectExplorer::Constants::LANG_CXX));
@@ -511,11 +510,6 @@ QString CMakeProject::displayName() const
return m_rootNode->displayName();
}
-IProjectManager *CMakeProject::projectManager() const
-{
- return m_manager;
-}
-
ProjectExplorer::ProjectNode *CMakeProject::rootProjectNode() const
{
return m_rootNode;
diff --git a/src/plugins/cmakeprojectmanager/cmakeproject.h b/src/plugins/cmakeprojectmanager/cmakeproject.h
index a70a22db89..240c8116be 100644
--- a/src/plugins/cmakeprojectmanager/cmakeproject.h
+++ b/src/plugins/cmakeprojectmanager/cmakeproject.h
@@ -99,7 +99,6 @@ public:
~CMakeProject() override;
QString displayName() const override;
- ProjectExplorer::IProjectManager *projectManager() const override;
ProjectExplorer::ProjectNode *rootProjectNode() const override;
@@ -147,8 +146,7 @@ private:
void updateApplicationAndDeploymentTargets();
QStringList getCXXFlagsFor(const CMakeBuildTarget &buildTarget, QByteArray *cachedBuildNinja);
- Internal::CMakeManager *m_manager;
- ProjectExplorer::Target *m_activeTarget;
+ ProjectExplorer::Target *m_activeTarget = 0;
Utils::FileName m_fileName;
// TODO probably need a CMake specific node structure
diff --git a/src/plugins/cpptools/modelmanagertesthelper.h b/src/plugins/cpptools/modelmanagertesthelper.h
index 2c8b236d47..5b85eedc81 100644
--- a/src/plugins/cpptools/modelmanagertesthelper.h
+++ b/src/plugins/cpptools/modelmanagertesthelper.h
@@ -50,7 +50,6 @@ public:
~TestProject() override;
QString displayName() const override { return m_name; }
- ProjectExplorer::IProjectManager *projectManager() const override { return 0; }
ProjectExplorer::ProjectNode *rootProjectNode() const override { return 0; }
QStringList files(FilesMode fileMode) const override { Q_UNUSED(fileMode); return QStringList(); }
diff --git a/src/plugins/genericprojectmanager/genericproject.cpp b/src/plugins/genericprojectmanager/genericproject.cpp
index cbee9bed08..b430fe522b 100644
--- a/src/plugins/genericprojectmanager/genericproject.cpp
+++ b/src/plugins/genericprojectmanager/genericproject.cpp
@@ -67,11 +67,10 @@ namespace Internal {
//
////////////////////////////////////////////////////////////////////////////////////
-GenericProject::GenericProject(Manager *manager, const QString &fileName)
- : m_manager(manager),
- m_fileName(fileName)
+GenericProject::GenericProject(Manager *manager, const QString &fileName) : m_fileName(fileName)
{
setId(Constants::GENERICPROJECT_ID);
+ setProjectManager(manager);
setDocument(new GenericProjectFile(this, m_fileName, GenericProject::Everything));
setProjectContext(Context(GenericProjectManager::Constants::PROJECTCONTEXT));
setProjectLanguages(Context(ProjectExplorer::Constants::LANG_CXX));
@@ -112,13 +111,13 @@ GenericProject::GenericProject(Manager *manager, const QString &fileName)
<< projectIncludesNode
<< projectConfigNode);
- m_manager->registerProject(this);
+ projectManager()->registerProject(this);
}
GenericProject::~GenericProject()
{
m_codeModelFuture.cancel();
- m_manager->unregisterProject(this);
+ projectManager()->unregisterProject(this);
delete m_rootNode;
}
@@ -388,9 +387,9 @@ QString GenericProject::displayName() const
return m_projectName;
}
-IProjectManager *GenericProject::projectManager() const
+Manager *GenericProject::projectManager() const
{
- return m_manager;
+ return static_cast<Manager *>(Project::projectManager());
}
GenericProjectNode *GenericProject::rootProjectNode() const
diff --git a/src/plugins/genericprojectmanager/genericproject.h b/src/plugins/genericprojectmanager/genericproject.h
index 24f44041ca..95a2e7d7e8 100644
--- a/src/plugins/genericprojectmanager/genericproject.h
+++ b/src/plugins/genericprojectmanager/genericproject.h
@@ -61,7 +61,7 @@ public:
QString configFileName() const;
QString displayName() const override;
- ProjectExplorer::IProjectManager *projectManager() const override;
+ Manager *projectManager() const override;
GenericProjectNode *rootProjectNode() const override;
QStringList files(FilesMode fileMode) const override;
@@ -96,7 +96,6 @@ private:
void refreshCppCodeModel();
- Manager *m_manager;
QString m_fileName;
QString m_filesFileName;
QString m_includesFileName;
diff --git a/src/plugins/projectexplorer/project.cpp b/src/plugins/projectexplorer/project.cpp
index f7dfbb5500..5143a03b20 100644
--- a/src/plugins/projectexplorer/project.cpp
+++ b/src/plugins/projectexplorer/project.cpp
@@ -94,6 +94,7 @@ public:
Core::Id m_id;
Core::IDocument *m_document = 0;
+ IProjectManager *m_manager = 0;
QList<Target *> m_targets;
Target *m_activeTarget = 0;
EditorConfiguration m_editorConfiguration;
@@ -424,6 +425,13 @@ void Project::setDocument(Core::IDocument *doc)
d->m_document = doc;
}
+void Project::setProjectManager(IProjectManager *manager)
+{
+ QTC_ASSERT(manager, return);
+ QTC_ASSERT(!d->m_manager, return);
+ d->m_manager = manager;
+}
+
Target *Project::restoreTarget(const QVariantMap &data)
{
Core::Id id = idFromMap(data);
@@ -508,6 +516,11 @@ Utils::FileName Project::projectDirectory(const Utils::FileName &top)
return Utils::FileName::fromString(top.toFileInfo().absoluteDir().path());
}
+IProjectManager *Project::projectManager() const
+{
+ QTC_CHECK(d->m_manager);
+ return d->m_manager;
+}
Project::RestoreResult Project::fromMap(const QVariantMap &map, QString *errorMessage)
{
diff --git a/src/plugins/projectexplorer/project.h b/src/plugins/projectexplorer/project.h
index b8fbf1ac3f..e5322b44a1 100644
--- a/src/plugins/projectexplorer/project.h
+++ b/src/plugins/projectexplorer/project.h
@@ -86,7 +86,7 @@ public:
Utils::FileName projectDirectory() const;
static Utils::FileName projectDirectory(const Utils::FileName &top);
- virtual IProjectManager *projectManager() const = 0;
+ virtual IProjectManager *projectManager() const;
bool hasActiveBuildSettings() const;
@@ -174,6 +174,7 @@ protected:
void setId(Core::Id id);
void setDocument(Core::IDocument *doc); // takes ownership!
+ void setProjectManager(IProjectManager *manager);
void setProjectContext(Core::Context context);
void setProjectLanguages(Core::Context language);
void addProjectLanguage(Core::Id id);
diff --git a/src/plugins/pythoneditor/pythoneditorplugin.cpp b/src/plugins/pythoneditor/pythoneditorplugin.cpp
index d6485c6e80..66b4d4085d 100644
--- a/src/plugins/pythoneditor/pythoneditorplugin.cpp
+++ b/src/plugins/pythoneditor/pythoneditorplugin.cpp
@@ -249,7 +249,7 @@ public:
~PythonProject() override;
QString displayName() const override { return m_projectName; }
- IProjectManager *projectManager() const override { return m_manager; }
+ PythonProjectManager *projectManager() const override;
ProjectNode *rootProjectNode() const override;
QStringList files(FilesMode) const override { return m_files; }
@@ -270,7 +270,6 @@ private:
QStringList processEntries(const QStringList &paths,
QHash<QString, QString> *map = 0) const;
- PythonProjectManager *m_manager;
QString m_projectFileName;
QString m_projectName;
QStringList m_rawFileList;
@@ -617,11 +616,11 @@ private:
};
-PythonProject::PythonProject(PythonProjectManager *manager, const QString &fileName)
- : m_manager(manager),
- m_projectFileName(fileName)
+PythonProject::PythonProject(PythonProjectManager *manager, const QString &fileName) :
+ m_projectFileName(fileName)
{
setId(PythonProjectId);
+ setProjectManager(manager);
setDocument(new PythonProjectFile(this, m_projectFileName));
DocumentManager::addDocument(document());
@@ -633,16 +632,21 @@ PythonProject::PythonProject(PythonProjectManager *manager, const QString &fileN
m_projectName = fileInfo.completeBaseName();
m_rootNode = new PythonProjectNode(this);
- m_manager->registerProject(this);
+ projectManager()->registerProject(this);
}
PythonProject::~PythonProject()
{
- m_manager->unregisterProject(this);
+ projectManager()->unregisterProject(this);
delete m_rootNode;
}
+PythonProjectManager *PythonProject::projectManager() const
+{
+ return static_cast<PythonProjectManager *>(Project::projectManager());
+}
+
static QStringList readLines(const QString &absoluteFileName)
{
QStringList lines;
diff --git a/src/plugins/qbsprojectmanager/qbsproject.cpp b/src/plugins/qbsprojectmanager/qbsproject.cpp
index c895b8097b..b396589ed9 100644
--- a/src/plugins/qbsprojectmanager/qbsproject.cpp
+++ b/src/plugins/qbsprojectmanager/qbsproject.cpp
@@ -100,7 +100,6 @@ static const char CONFIG_PRECOMPILEDHEADER[] = "precompiledHeader";
// --------------------------------------------------------------------
QbsProject::QbsProject(QbsManager *manager, const QString &fileName) :
- m_manager(manager),
m_projectName(QFileInfo(fileName).completeBaseName()),
m_fileName(fileName),
m_rootProjectNode(0),
@@ -113,6 +112,7 @@ QbsProject::QbsProject(QbsManager *manager, const QString &fileName) :
m_parsingDelay.setInterval(1000); // delay parsing by 1s.
setId(Constants::PROJECT_ID);
+ setProjectManager(manager);
setDocument(new QbsProjectFile(this, m_fileName));
DocumentManager::addDocument(document());
@@ -157,7 +157,7 @@ QString QbsProject::displayName() const
QbsManager *QbsProject::projectManager() const
{
- return m_manager;
+ return static_cast<QbsManager *>(Project::projectManager());
}
ProjectNode *QbsProject::rootProjectNode() const
@@ -402,7 +402,7 @@ qbs::InstallJob *QbsProject::install(const qbs::InstallOptions &opts)
QString QbsProject::profileForTarget(const Target *t) const
{
- return m_manager->profileForKit(t->kit());
+ return projectManager()->profileForKit(t->kit());
}
bool QbsProject::isParsing() const
diff --git a/src/plugins/qbsprojectmanager/qbsproject.h b/src/plugins/qbsprojectmanager/qbsproject.h
index a69fbce1ce..f84c6f89fa 100644
--- a/src/plugins/qbsprojectmanager/qbsproject.h
+++ b/src/plugins/qbsprojectmanager/qbsproject.h
@@ -145,7 +145,6 @@ private:
qbs::GroupData reRetrieveGroupData(const qbs::ProductData &oldProduct,
const qbs::GroupData &oldGroup);
- QbsManager *const m_manager;
const QString m_projectName;
const QString m_fileName;
qbs::Project m_qbsProject;
diff --git a/src/plugins/qmakeprojectmanager/qmakenodes.cpp b/src/plugins/qmakeprojectmanager/qmakenodes.cpp
index b2485359cf..126c3c7aa4 100644
--- a/src/plugins/qmakeprojectmanager/qmakenodes.cpp
+++ b/src/plugins/qmakeprojectmanager/qmakenodes.cpp
@@ -1180,7 +1180,7 @@ bool QmakePriFileNode::saveModifiedEditors()
// force instant reload of ourselves
QtSupport::ProFileCacheManager::instance()->discardFile(m_projectFilePath.toString());
- m_project->qmakeProjectManager()->notifyChanged(m_projectFilePath);
+ m_project->projectManager()->notifyChanged(m_projectFilePath);
return true;
}
@@ -1369,7 +1369,7 @@ void QmakePriFileNode::save(const QStringList &lines)
saver.write(lines.join(QLatin1Char('\n')).toLocal8Bit());
saver.finalize(Core::ICore::mainWindow());
- m_project->qmakeProjectManager()->notifyChanged(m_projectFilePath);
+ m_project->projectManager()->notifyChanged(m_projectFilePath);
Core::DocumentManager::unexpectFileChange(m_projectFilePath.toString());
// This is a hack.
// We are saving twice in a very short timeframe, once the editor and once the ProFile.
diff --git a/src/plugins/qmakeprojectmanager/qmakeproject.cpp b/src/plugins/qmakeprojectmanager/qmakeproject.cpp
index 53b244ef2f..7c3019ea83 100644
--- a/src/plugins/qmakeprojectmanager/qmakeproject.cpp
+++ b/src/plugins/qmakeprojectmanager/qmakeproject.cpp
@@ -308,11 +308,11 @@ bool QmakeProjectFile::reload(QString *errorString, ReloadFlag flag, ChangeType
*/
QmakeProject::QmakeProject(QmakeManager *manager, const QString &fileName) :
- m_manager(manager),
m_projectFiles(new QmakeProjectFiles),
m_qmakeVfs(new QMakeVfs)
{
setId(Constants::QMAKEPROJECT_ID);
+ setProjectManager(manager);
setDocument(new QmakeProjectFile(fileName));
setProjectContext(Core::Context(QmakeProjectManager::Constants::PROJECT_ID));
setProjectLanguages(Core::Context(ProjectExplorer::Constants::LANG_CXX));
@@ -334,7 +334,7 @@ QmakeProject::~QmakeProject()
{
m_codeModelFuture.cancel();
m_asyncUpdateState = ShuttingDown;
- m_manager->unregisterProject(this);
+ projectManager()->unregisterProject(this);
delete m_projectFiles;
m_cancelEvaluate = true;
// Deleting the root node triggers a few things, make sure rootProjectNode
@@ -374,7 +374,7 @@ Project::RestoreResult QmakeProject::fromMap(const QVariantMap &map, QString *er
}
}
- m_manager->registerProject(this);
+ projectManager()->registerProject(this);
m_rootProjectNode = new QmakeProFileNode(this, projectFilePath());
@@ -825,14 +825,9 @@ void QmakeProject::buildFinished(bool success)
m_qmakeVfs->invalidateContents();
}
-IProjectManager *QmakeProject::projectManager() const
+QmakeManager *QmakeProject::projectManager() const
{
- return m_manager;
-}
-
-QmakeManager *QmakeProject::qmakeProjectManager() const
-{
- return m_manager;
+ return static_cast<QmakeManager *>(Project::projectManager());
}
bool QmakeProject::supportsKit(Kit *k, QString *errorMessage) const
diff --git a/src/plugins/qmakeprojectmanager/qmakeproject.h b/src/plugins/qmakeprojectmanager/qmakeproject.h
index cfa28f879d..202f72b7cc 100644
--- a/src/plugins/qmakeprojectmanager/qmakeproject.h
+++ b/src/plugins/qmakeprojectmanager/qmakeproject.h
@@ -32,6 +32,7 @@
#define QMAKEPROJECT_H
#include "qmakeprojectmanager_global.h"
+#include "qmakeprojectmanager.h"
#include "qmakenodes.h"
#include <projectexplorer/project.h>
@@ -52,7 +53,6 @@ namespace QtSupport { class ProFileReader; }
namespace QmakeProjectManager {
class QmakeBuildConfiguration;
-class QmakeManager;
class QmakePriFileNode;
class QmakeProFileNode;
@@ -72,8 +72,7 @@ public:
~QmakeProject() override;
QString displayName() const override;
- ProjectExplorer::IProjectManager *projectManager() const override;
- QmakeManager *qmakeProjectManager() const;
+ QmakeManager *projectManager() const override;
bool supportsKit(ProjectExplorer::Kit *k, QString *errorMesage) const override;
@@ -181,7 +180,6 @@ private:
void startAsyncTimer(QmakeProFileNode::AsyncUpdateDelay delay);
bool matchesKit(const ProjectExplorer::Kit *kit);
- QmakeManager *m_manager;
QmakeProFileNode *m_rootProjectNode = 0;
// Current configuration
diff --git a/src/plugins/qmlprojectmanager/qmlproject.cpp b/src/plugins/qmlprojectmanager/qmlproject.cpp
index f2ec950384..ef8589e7d3 100644
--- a/src/plugins/qmlprojectmanager/qmlproject.cpp
+++ b/src/plugins/qmlprojectmanager/qmlproject.cpp
@@ -58,13 +58,12 @@ namespace Internal {
} // namespace Internal
-QmlProject::QmlProject(Internal::Manager *manager, const Utils::FileName &fileName)
- : m_manager(manager),
- m_fileName(fileName),
- m_defaultImport(UnknownImport),
- m_activeTarget(0)
+QmlProject::QmlProject(Internal::Manager *manager, const Utils::FileName &fileName) :
+ m_fileName(fileName),
+ m_defaultImport(UnknownImport)
{
setId("QmlProjectManager.QmlProject");
+ setProjectManager(manager);
setDocument(new Internal::QmlProjectFile(this, fileName));
DocumentManager::addDocument(document(), true);
@@ -76,12 +75,12 @@ QmlProject::QmlProject(Internal::Manager *manager, const Utils::FileName &fileNa
m_rootNode = new Internal::QmlProjectNode(this);
- m_manager->registerProject(this);
+ projectManager()->registerProject(this);
}
QmlProject::~QmlProject()
{
- m_manager->unregisterProject(this);
+ projectManager()->unregisterProject(this);
delete m_projectItem.data();
delete m_rootNode;
@@ -290,9 +289,9 @@ QString QmlProject::displayName() const
return m_projectName;
}
-IProjectManager *QmlProject::projectManager() const
+Internal::Manager *QmlProject::projectManager() const
{
- return m_manager;
+ return static_cast<Internal::Manager *>(Project::projectManager());
}
bool QmlProject::supportsKit(Kit *k, QString *errorMessage) const
diff --git a/src/plugins/qmlprojectmanager/qmlproject.h b/src/plugins/qmlprojectmanager/qmlproject.h
index b3fe9a19b5..702837f831 100644
--- a/src/plugins/qmlprojectmanager/qmlproject.h
+++ b/src/plugins/qmlprojectmanager/qmlproject.h
@@ -33,6 +33,8 @@
#include "qmlprojectmanager_global.h"
+#include "qmlprojectmanager.h"
+
#include <projectexplorer/project.h>
#include <QPointer>
@@ -46,7 +48,6 @@ namespace QmlProjectManager {
class QmlProjectItem;
namespace Internal {
-class Manager;
class QmlProjectFile;
class QmlProjectNode;
} // namespace Internal
@@ -62,7 +63,7 @@ public:
Utils::FileName filesFileName() const;
QString displayName() const override;
- ProjectExplorer::IProjectManager *projectManager() const override;
+ Internal::Manager *projectManager() const override;
bool supportsKit(ProjectExplorer::Kit *k, QString *errorMessage) const override;
@@ -109,11 +110,10 @@ private:
QStringList convertToAbsoluteFiles(const QStringList &paths) const;
QmlJS::ModelManagerInterface *modelManager() const;
- Internal::Manager *m_manager;
Utils::FileName m_fileName;
QString m_projectName;
QmlImport m_defaultImport;
- ProjectExplorer::Target *m_activeTarget;
+ ProjectExplorer::Target *m_activeTarget = 0;
// plain format
QStringList m_files;