forked from qt-creator/qt-creator
Project: Add setProjectManager method
Implement default projectManager method in Project and use these two everywhere. Change-Id: I27e011e6fdc17b36aff1b8b931527307320e347c Reviewed-by: Niels Weber <niels.weber@theqtcompany.com>
This commit is contained in:
@@ -72,12 +72,12 @@ using namespace AutotoolsProjectManager::Internal;
|
|||||||
using namespace ProjectExplorer;
|
using namespace ProjectExplorer;
|
||||||
|
|
||||||
AutotoolsProject::AutotoolsProject(AutotoolsManager *manager, const QString &fileName) :
|
AutotoolsProject::AutotoolsProject(AutotoolsManager *manager, const QString &fileName) :
|
||||||
m_manager(manager),
|
|
||||||
m_fileName(fileName),
|
m_fileName(fileName),
|
||||||
m_fileWatcher(new Utils::FileSystemWatcher(this)),
|
m_fileWatcher(new Utils::FileSystemWatcher(this)),
|
||||||
m_makefileParserThread(0)
|
m_makefileParserThread(0)
|
||||||
{
|
{
|
||||||
setId(Constants::AUTOTOOLS_PROJECT_ID);
|
setId(Constants::AUTOTOOLS_PROJECT_ID);
|
||||||
|
setProjectManager(manager);
|
||||||
setDocument(new AutotoolsProjectFile(m_fileName));
|
setDocument(new AutotoolsProjectFile(m_fileName));
|
||||||
m_rootNode = new AutotoolsProjectNode(projectFilePath());
|
m_rootNode = new AutotoolsProjectNode(projectFilePath());
|
||||||
setProjectContext(Core::Context(Constants::PROJECT_CONTEXT));
|
setProjectContext(Core::Context(Constants::PROJECT_CONTEXT));
|
||||||
@@ -110,11 +110,6 @@ QString AutotoolsProject::displayName() const
|
|||||||
return m_projectName;
|
return m_projectName;
|
||||||
}
|
}
|
||||||
|
|
||||||
IProjectManager *AutotoolsProject::projectManager() const
|
|
||||||
{
|
|
||||||
return m_manager;
|
|
||||||
}
|
|
||||||
|
|
||||||
QString AutotoolsProject::defaultBuildDirectory(const QString &projectPath)
|
QString AutotoolsProject::defaultBuildDirectory(const QString &projectPath)
|
||||||
{
|
{
|
||||||
return QFileInfo(projectPath).absolutePath();
|
return QFileInfo(projectPath).absolutePath();
|
||||||
|
@@ -74,7 +74,6 @@ public:
|
|||||||
~AutotoolsProject() override;
|
~AutotoolsProject() override;
|
||||||
|
|
||||||
QString displayName() const override;
|
QString displayName() const override;
|
||||||
ProjectExplorer::IProjectManager *projectManager() const override;
|
|
||||||
ProjectExplorer::ProjectNode *rootProjectNode() const override;
|
ProjectExplorer::ProjectNode *rootProjectNode() const override;
|
||||||
QStringList files(FilesMode fileMode) const override;
|
QStringList files(FilesMode fileMode) const override;
|
||||||
static QString defaultBuildDirectory(const QString &projectPath);
|
static QString defaultBuildDirectory(const QString &projectPath);
|
||||||
@@ -136,9 +135,6 @@ private:
|
|||||||
void updateCppCodeModel();
|
void updateCppCodeModel();
|
||||||
|
|
||||||
private:
|
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
|
/// File name of the makefile that has been passed in the constructor
|
||||||
QString m_fileName;
|
QString m_fileName;
|
||||||
QString m_projectName;
|
QString m_projectName;
|
||||||
|
@@ -87,14 +87,13 @@ using namespace Utils;
|
|||||||
/*!
|
/*!
|
||||||
\class CMakeProject
|
\class CMakeProject
|
||||||
*/
|
*/
|
||||||
CMakeProject::CMakeProject(CMakeManager *manager, const FileName &fileName)
|
CMakeProject::CMakeProject(CMakeManager *manager, const FileName &fileName) :
|
||||||
: m_manager(manager),
|
m_fileName(fileName),
|
||||||
m_activeTarget(0),
|
m_rootNode(new CMakeProjectNode(fileName)),
|
||||||
m_fileName(fileName),
|
m_watcher(new QFileSystemWatcher(this))
|
||||||
m_rootNode(new CMakeProjectNode(fileName)),
|
|
||||||
m_watcher(new QFileSystemWatcher(this))
|
|
||||||
{
|
{
|
||||||
setId(Constants::CMAKEPROJECT_ID);
|
setId(Constants::CMAKEPROJECT_ID);
|
||||||
|
setProjectManager(manager);
|
||||||
setDocument(new CMakeFile(fileName));
|
setDocument(new CMakeFile(fileName));
|
||||||
setProjectContext(Core::Context(CMakeProjectManager::Constants::PROJECTCONTEXT));
|
setProjectContext(Core::Context(CMakeProjectManager::Constants::PROJECTCONTEXT));
|
||||||
setProjectLanguages(Core::Context(ProjectExplorer::Constants::LANG_CXX));
|
setProjectLanguages(Core::Context(ProjectExplorer::Constants::LANG_CXX));
|
||||||
@@ -511,11 +510,6 @@ QString CMakeProject::displayName() const
|
|||||||
return m_rootNode->displayName();
|
return m_rootNode->displayName();
|
||||||
}
|
}
|
||||||
|
|
||||||
IProjectManager *CMakeProject::projectManager() const
|
|
||||||
{
|
|
||||||
return m_manager;
|
|
||||||
}
|
|
||||||
|
|
||||||
ProjectExplorer::ProjectNode *CMakeProject::rootProjectNode() const
|
ProjectExplorer::ProjectNode *CMakeProject::rootProjectNode() const
|
||||||
{
|
{
|
||||||
return m_rootNode;
|
return m_rootNode;
|
||||||
|
@@ -99,7 +99,6 @@ public:
|
|||||||
~CMakeProject() override;
|
~CMakeProject() override;
|
||||||
|
|
||||||
QString displayName() const override;
|
QString displayName() const override;
|
||||||
ProjectExplorer::IProjectManager *projectManager() const override;
|
|
||||||
|
|
||||||
ProjectExplorer::ProjectNode *rootProjectNode() const override;
|
ProjectExplorer::ProjectNode *rootProjectNode() const override;
|
||||||
|
|
||||||
@@ -147,8 +146,7 @@ private:
|
|||||||
void updateApplicationAndDeploymentTargets();
|
void updateApplicationAndDeploymentTargets();
|
||||||
QStringList getCXXFlagsFor(const CMakeBuildTarget &buildTarget, QByteArray *cachedBuildNinja);
|
QStringList getCXXFlagsFor(const CMakeBuildTarget &buildTarget, QByteArray *cachedBuildNinja);
|
||||||
|
|
||||||
Internal::CMakeManager *m_manager;
|
ProjectExplorer::Target *m_activeTarget = 0;
|
||||||
ProjectExplorer::Target *m_activeTarget;
|
|
||||||
Utils::FileName m_fileName;
|
Utils::FileName m_fileName;
|
||||||
|
|
||||||
// TODO probably need a CMake specific node structure
|
// TODO probably need a CMake specific node structure
|
||||||
|
@@ -50,7 +50,6 @@ public:
|
|||||||
~TestProject() override;
|
~TestProject() override;
|
||||||
|
|
||||||
QString displayName() const override { return m_name; }
|
QString displayName() const override { return m_name; }
|
||||||
ProjectExplorer::IProjectManager *projectManager() const override { return 0; }
|
|
||||||
ProjectExplorer::ProjectNode *rootProjectNode() const override { return 0; }
|
ProjectExplorer::ProjectNode *rootProjectNode() const override { return 0; }
|
||||||
|
|
||||||
QStringList files(FilesMode fileMode) const override { Q_UNUSED(fileMode); return QStringList(); }
|
QStringList files(FilesMode fileMode) const override { Q_UNUSED(fileMode); return QStringList(); }
|
||||||
|
@@ -67,11 +67,10 @@ namespace Internal {
|
|||||||
//
|
//
|
||||||
////////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
GenericProject::GenericProject(Manager *manager, const QString &fileName)
|
GenericProject::GenericProject(Manager *manager, const QString &fileName) : m_fileName(fileName)
|
||||||
: m_manager(manager),
|
|
||||||
m_fileName(fileName)
|
|
||||||
{
|
{
|
||||||
setId(Constants::GENERICPROJECT_ID);
|
setId(Constants::GENERICPROJECT_ID);
|
||||||
|
setProjectManager(manager);
|
||||||
setDocument(new GenericProjectFile(this, m_fileName, GenericProject::Everything));
|
setDocument(new GenericProjectFile(this, m_fileName, GenericProject::Everything));
|
||||||
setProjectContext(Context(GenericProjectManager::Constants::PROJECTCONTEXT));
|
setProjectContext(Context(GenericProjectManager::Constants::PROJECTCONTEXT));
|
||||||
setProjectLanguages(Context(ProjectExplorer::Constants::LANG_CXX));
|
setProjectLanguages(Context(ProjectExplorer::Constants::LANG_CXX));
|
||||||
@@ -112,13 +111,13 @@ GenericProject::GenericProject(Manager *manager, const QString &fileName)
|
|||||||
<< projectIncludesNode
|
<< projectIncludesNode
|
||||||
<< projectConfigNode);
|
<< projectConfigNode);
|
||||||
|
|
||||||
m_manager->registerProject(this);
|
projectManager()->registerProject(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
GenericProject::~GenericProject()
|
GenericProject::~GenericProject()
|
||||||
{
|
{
|
||||||
m_codeModelFuture.cancel();
|
m_codeModelFuture.cancel();
|
||||||
m_manager->unregisterProject(this);
|
projectManager()->unregisterProject(this);
|
||||||
|
|
||||||
delete m_rootNode;
|
delete m_rootNode;
|
||||||
}
|
}
|
||||||
@@ -388,9 +387,9 @@ QString GenericProject::displayName() const
|
|||||||
return m_projectName;
|
return m_projectName;
|
||||||
}
|
}
|
||||||
|
|
||||||
IProjectManager *GenericProject::projectManager() const
|
Manager *GenericProject::projectManager() const
|
||||||
{
|
{
|
||||||
return m_manager;
|
return static_cast<Manager *>(Project::projectManager());
|
||||||
}
|
}
|
||||||
|
|
||||||
GenericProjectNode *GenericProject::rootProjectNode() const
|
GenericProjectNode *GenericProject::rootProjectNode() const
|
||||||
|
@@ -61,7 +61,7 @@ public:
|
|||||||
QString configFileName() const;
|
QString configFileName() const;
|
||||||
|
|
||||||
QString displayName() const override;
|
QString displayName() const override;
|
||||||
ProjectExplorer::IProjectManager *projectManager() const override;
|
Manager *projectManager() const override;
|
||||||
|
|
||||||
GenericProjectNode *rootProjectNode() const override;
|
GenericProjectNode *rootProjectNode() const override;
|
||||||
QStringList files(FilesMode fileMode) const override;
|
QStringList files(FilesMode fileMode) const override;
|
||||||
@@ -96,7 +96,6 @@ private:
|
|||||||
|
|
||||||
void refreshCppCodeModel();
|
void refreshCppCodeModel();
|
||||||
|
|
||||||
Manager *m_manager;
|
|
||||||
QString m_fileName;
|
QString m_fileName;
|
||||||
QString m_filesFileName;
|
QString m_filesFileName;
|
||||||
QString m_includesFileName;
|
QString m_includesFileName;
|
||||||
|
@@ -94,6 +94,7 @@ public:
|
|||||||
|
|
||||||
Core::Id m_id;
|
Core::Id m_id;
|
||||||
Core::IDocument *m_document = 0;
|
Core::IDocument *m_document = 0;
|
||||||
|
IProjectManager *m_manager = 0;
|
||||||
QList<Target *> m_targets;
|
QList<Target *> m_targets;
|
||||||
Target *m_activeTarget = 0;
|
Target *m_activeTarget = 0;
|
||||||
EditorConfiguration m_editorConfiguration;
|
EditorConfiguration m_editorConfiguration;
|
||||||
@@ -424,6 +425,13 @@ void Project::setDocument(Core::IDocument *doc)
|
|||||||
d->m_document = 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)
|
Target *Project::restoreTarget(const QVariantMap &data)
|
||||||
{
|
{
|
||||||
Core::Id id = idFromMap(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());
|
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)
|
Project::RestoreResult Project::fromMap(const QVariantMap &map, QString *errorMessage)
|
||||||
{
|
{
|
||||||
|
@@ -86,7 +86,7 @@ public:
|
|||||||
Utils::FileName projectDirectory() const;
|
Utils::FileName projectDirectory() const;
|
||||||
static Utils::FileName projectDirectory(const Utils::FileName &top);
|
static Utils::FileName projectDirectory(const Utils::FileName &top);
|
||||||
|
|
||||||
virtual IProjectManager *projectManager() const = 0;
|
virtual IProjectManager *projectManager() const;
|
||||||
|
|
||||||
bool hasActiveBuildSettings() const;
|
bool hasActiveBuildSettings() const;
|
||||||
|
|
||||||
@@ -174,6 +174,7 @@ protected:
|
|||||||
|
|
||||||
void setId(Core::Id id);
|
void setId(Core::Id id);
|
||||||
void setDocument(Core::IDocument *doc); // takes ownership!
|
void setDocument(Core::IDocument *doc); // takes ownership!
|
||||||
|
void setProjectManager(IProjectManager *manager);
|
||||||
void setProjectContext(Core::Context context);
|
void setProjectContext(Core::Context context);
|
||||||
void setProjectLanguages(Core::Context language);
|
void setProjectLanguages(Core::Context language);
|
||||||
void addProjectLanguage(Core::Id id);
|
void addProjectLanguage(Core::Id id);
|
||||||
|
@@ -249,7 +249,7 @@ public:
|
|||||||
~PythonProject() override;
|
~PythonProject() override;
|
||||||
|
|
||||||
QString displayName() const override { return m_projectName; }
|
QString displayName() const override { return m_projectName; }
|
||||||
IProjectManager *projectManager() const override { return m_manager; }
|
PythonProjectManager *projectManager() const override;
|
||||||
|
|
||||||
ProjectNode *rootProjectNode() const override;
|
ProjectNode *rootProjectNode() const override;
|
||||||
QStringList files(FilesMode) const override { return m_files; }
|
QStringList files(FilesMode) const override { return m_files; }
|
||||||
@@ -270,7 +270,6 @@ private:
|
|||||||
QStringList processEntries(const QStringList &paths,
|
QStringList processEntries(const QStringList &paths,
|
||||||
QHash<QString, QString> *map = 0) const;
|
QHash<QString, QString> *map = 0) const;
|
||||||
|
|
||||||
PythonProjectManager *m_manager;
|
|
||||||
QString m_projectFileName;
|
QString m_projectFileName;
|
||||||
QString m_projectName;
|
QString m_projectName;
|
||||||
QStringList m_rawFileList;
|
QStringList m_rawFileList;
|
||||||
@@ -617,11 +616,11 @@ private:
|
|||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
PythonProject::PythonProject(PythonProjectManager *manager, const QString &fileName)
|
PythonProject::PythonProject(PythonProjectManager *manager, const QString &fileName) :
|
||||||
: m_manager(manager),
|
m_projectFileName(fileName)
|
||||||
m_projectFileName(fileName)
|
|
||||||
{
|
{
|
||||||
setId(PythonProjectId);
|
setId(PythonProjectId);
|
||||||
|
setProjectManager(manager);
|
||||||
setDocument(new PythonProjectFile(this, m_projectFileName));
|
setDocument(new PythonProjectFile(this, m_projectFileName));
|
||||||
DocumentManager::addDocument(document());
|
DocumentManager::addDocument(document());
|
||||||
|
|
||||||
@@ -633,16 +632,21 @@ PythonProject::PythonProject(PythonProjectManager *manager, const QString &fileN
|
|||||||
m_projectName = fileInfo.completeBaseName();
|
m_projectName = fileInfo.completeBaseName();
|
||||||
m_rootNode = new PythonProjectNode(this);
|
m_rootNode = new PythonProjectNode(this);
|
||||||
|
|
||||||
m_manager->registerProject(this);
|
projectManager()->registerProject(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
PythonProject::~PythonProject()
|
PythonProject::~PythonProject()
|
||||||
{
|
{
|
||||||
m_manager->unregisterProject(this);
|
projectManager()->unregisterProject(this);
|
||||||
|
|
||||||
delete m_rootNode;
|
delete m_rootNode;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
PythonProjectManager *PythonProject::projectManager() const
|
||||||
|
{
|
||||||
|
return static_cast<PythonProjectManager *>(Project::projectManager());
|
||||||
|
}
|
||||||
|
|
||||||
static QStringList readLines(const QString &absoluteFileName)
|
static QStringList readLines(const QString &absoluteFileName)
|
||||||
{
|
{
|
||||||
QStringList lines;
|
QStringList lines;
|
||||||
|
@@ -100,7 +100,6 @@ static const char CONFIG_PRECOMPILEDHEADER[] = "precompiledHeader";
|
|||||||
// --------------------------------------------------------------------
|
// --------------------------------------------------------------------
|
||||||
|
|
||||||
QbsProject::QbsProject(QbsManager *manager, const QString &fileName) :
|
QbsProject::QbsProject(QbsManager *manager, const QString &fileName) :
|
||||||
m_manager(manager),
|
|
||||||
m_projectName(QFileInfo(fileName).completeBaseName()),
|
m_projectName(QFileInfo(fileName).completeBaseName()),
|
||||||
m_fileName(fileName),
|
m_fileName(fileName),
|
||||||
m_rootProjectNode(0),
|
m_rootProjectNode(0),
|
||||||
@@ -113,6 +112,7 @@ QbsProject::QbsProject(QbsManager *manager, const QString &fileName) :
|
|||||||
m_parsingDelay.setInterval(1000); // delay parsing by 1s.
|
m_parsingDelay.setInterval(1000); // delay parsing by 1s.
|
||||||
|
|
||||||
setId(Constants::PROJECT_ID);
|
setId(Constants::PROJECT_ID);
|
||||||
|
setProjectManager(manager);
|
||||||
|
|
||||||
setDocument(new QbsProjectFile(this, m_fileName));
|
setDocument(new QbsProjectFile(this, m_fileName));
|
||||||
DocumentManager::addDocument(document());
|
DocumentManager::addDocument(document());
|
||||||
@@ -157,7 +157,7 @@ QString QbsProject::displayName() const
|
|||||||
|
|
||||||
QbsManager *QbsProject::projectManager() const
|
QbsManager *QbsProject::projectManager() const
|
||||||
{
|
{
|
||||||
return m_manager;
|
return static_cast<QbsManager *>(Project::projectManager());
|
||||||
}
|
}
|
||||||
|
|
||||||
ProjectNode *QbsProject::rootProjectNode() const
|
ProjectNode *QbsProject::rootProjectNode() const
|
||||||
@@ -402,7 +402,7 @@ qbs::InstallJob *QbsProject::install(const qbs::InstallOptions &opts)
|
|||||||
|
|
||||||
QString QbsProject::profileForTarget(const Target *t) const
|
QString QbsProject::profileForTarget(const Target *t) const
|
||||||
{
|
{
|
||||||
return m_manager->profileForKit(t->kit());
|
return projectManager()->profileForKit(t->kit());
|
||||||
}
|
}
|
||||||
|
|
||||||
bool QbsProject::isParsing() const
|
bool QbsProject::isParsing() const
|
||||||
|
@@ -145,7 +145,6 @@ private:
|
|||||||
qbs::GroupData reRetrieveGroupData(const qbs::ProductData &oldProduct,
|
qbs::GroupData reRetrieveGroupData(const qbs::ProductData &oldProduct,
|
||||||
const qbs::GroupData &oldGroup);
|
const qbs::GroupData &oldGroup);
|
||||||
|
|
||||||
QbsManager *const m_manager;
|
|
||||||
const QString m_projectName;
|
const QString m_projectName;
|
||||||
const QString m_fileName;
|
const QString m_fileName;
|
||||||
qbs::Project m_qbsProject;
|
qbs::Project m_qbsProject;
|
||||||
|
@@ -1180,7 +1180,7 @@ bool QmakePriFileNode::saveModifiedEditors()
|
|||||||
|
|
||||||
// force instant reload of ourselves
|
// force instant reload of ourselves
|
||||||
QtSupport::ProFileCacheManager::instance()->discardFile(m_projectFilePath.toString());
|
QtSupport::ProFileCacheManager::instance()->discardFile(m_projectFilePath.toString());
|
||||||
m_project->qmakeProjectManager()->notifyChanged(m_projectFilePath);
|
m_project->projectManager()->notifyChanged(m_projectFilePath);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1369,7 +1369,7 @@ void QmakePriFileNode::save(const QStringList &lines)
|
|||||||
saver.write(lines.join(QLatin1Char('\n')).toLocal8Bit());
|
saver.write(lines.join(QLatin1Char('\n')).toLocal8Bit());
|
||||||
saver.finalize(Core::ICore::mainWindow());
|
saver.finalize(Core::ICore::mainWindow());
|
||||||
|
|
||||||
m_project->qmakeProjectManager()->notifyChanged(m_projectFilePath);
|
m_project->projectManager()->notifyChanged(m_projectFilePath);
|
||||||
Core::DocumentManager::unexpectFileChange(m_projectFilePath.toString());
|
Core::DocumentManager::unexpectFileChange(m_projectFilePath.toString());
|
||||||
// This is a hack.
|
// This is a hack.
|
||||||
// We are saving twice in a very short timeframe, once the editor and once the ProFile.
|
// We are saving twice in a very short timeframe, once the editor and once the ProFile.
|
||||||
|
@@ -308,11 +308,11 @@ bool QmakeProjectFile::reload(QString *errorString, ReloadFlag flag, ChangeType
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
QmakeProject::QmakeProject(QmakeManager *manager, const QString &fileName) :
|
QmakeProject::QmakeProject(QmakeManager *manager, const QString &fileName) :
|
||||||
m_manager(manager),
|
|
||||||
m_projectFiles(new QmakeProjectFiles),
|
m_projectFiles(new QmakeProjectFiles),
|
||||||
m_qmakeVfs(new QMakeVfs)
|
m_qmakeVfs(new QMakeVfs)
|
||||||
{
|
{
|
||||||
setId(Constants::QMAKEPROJECT_ID);
|
setId(Constants::QMAKEPROJECT_ID);
|
||||||
|
setProjectManager(manager);
|
||||||
setDocument(new QmakeProjectFile(fileName));
|
setDocument(new QmakeProjectFile(fileName));
|
||||||
setProjectContext(Core::Context(QmakeProjectManager::Constants::PROJECT_ID));
|
setProjectContext(Core::Context(QmakeProjectManager::Constants::PROJECT_ID));
|
||||||
setProjectLanguages(Core::Context(ProjectExplorer::Constants::LANG_CXX));
|
setProjectLanguages(Core::Context(ProjectExplorer::Constants::LANG_CXX));
|
||||||
@@ -334,7 +334,7 @@ QmakeProject::~QmakeProject()
|
|||||||
{
|
{
|
||||||
m_codeModelFuture.cancel();
|
m_codeModelFuture.cancel();
|
||||||
m_asyncUpdateState = ShuttingDown;
|
m_asyncUpdateState = ShuttingDown;
|
||||||
m_manager->unregisterProject(this);
|
projectManager()->unregisterProject(this);
|
||||||
delete m_projectFiles;
|
delete m_projectFiles;
|
||||||
m_cancelEvaluate = true;
|
m_cancelEvaluate = true;
|
||||||
// Deleting the root node triggers a few things, make sure rootProjectNode
|
// 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());
|
m_rootProjectNode = new QmakeProFileNode(this, projectFilePath());
|
||||||
|
|
||||||
@@ -825,14 +825,9 @@ void QmakeProject::buildFinished(bool success)
|
|||||||
m_qmakeVfs->invalidateContents();
|
m_qmakeVfs->invalidateContents();
|
||||||
}
|
}
|
||||||
|
|
||||||
IProjectManager *QmakeProject::projectManager() const
|
QmakeManager *QmakeProject::projectManager() const
|
||||||
{
|
{
|
||||||
return m_manager;
|
return static_cast<QmakeManager *>(Project::projectManager());
|
||||||
}
|
|
||||||
|
|
||||||
QmakeManager *QmakeProject::qmakeProjectManager() const
|
|
||||||
{
|
|
||||||
return m_manager;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
bool QmakeProject::supportsKit(Kit *k, QString *errorMessage) const
|
bool QmakeProject::supportsKit(Kit *k, QString *errorMessage) const
|
||||||
|
@@ -32,6 +32,7 @@
|
|||||||
#define QMAKEPROJECT_H
|
#define QMAKEPROJECT_H
|
||||||
|
|
||||||
#include "qmakeprojectmanager_global.h"
|
#include "qmakeprojectmanager_global.h"
|
||||||
|
#include "qmakeprojectmanager.h"
|
||||||
#include "qmakenodes.h"
|
#include "qmakenodes.h"
|
||||||
|
|
||||||
#include <projectexplorer/project.h>
|
#include <projectexplorer/project.h>
|
||||||
@@ -52,7 +53,6 @@ namespace QtSupport { class ProFileReader; }
|
|||||||
|
|
||||||
namespace QmakeProjectManager {
|
namespace QmakeProjectManager {
|
||||||
class QmakeBuildConfiguration;
|
class QmakeBuildConfiguration;
|
||||||
class QmakeManager;
|
|
||||||
class QmakePriFileNode;
|
class QmakePriFileNode;
|
||||||
class QmakeProFileNode;
|
class QmakeProFileNode;
|
||||||
|
|
||||||
@@ -72,8 +72,7 @@ public:
|
|||||||
~QmakeProject() override;
|
~QmakeProject() override;
|
||||||
|
|
||||||
QString displayName() const override;
|
QString displayName() const override;
|
||||||
ProjectExplorer::IProjectManager *projectManager() const override;
|
QmakeManager *projectManager() const override;
|
||||||
QmakeManager *qmakeProjectManager() const;
|
|
||||||
|
|
||||||
bool supportsKit(ProjectExplorer::Kit *k, QString *errorMesage) const override;
|
bool supportsKit(ProjectExplorer::Kit *k, QString *errorMesage) const override;
|
||||||
|
|
||||||
@@ -181,7 +180,6 @@ private:
|
|||||||
void startAsyncTimer(QmakeProFileNode::AsyncUpdateDelay delay);
|
void startAsyncTimer(QmakeProFileNode::AsyncUpdateDelay delay);
|
||||||
bool matchesKit(const ProjectExplorer::Kit *kit);
|
bool matchesKit(const ProjectExplorer::Kit *kit);
|
||||||
|
|
||||||
QmakeManager *m_manager;
|
|
||||||
QmakeProFileNode *m_rootProjectNode = 0;
|
QmakeProFileNode *m_rootProjectNode = 0;
|
||||||
|
|
||||||
// Current configuration
|
// Current configuration
|
||||||
|
@@ -58,13 +58,12 @@ namespace Internal {
|
|||||||
|
|
||||||
} // namespace Internal
|
} // namespace Internal
|
||||||
|
|
||||||
QmlProject::QmlProject(Internal::Manager *manager, const Utils::FileName &fileName)
|
QmlProject::QmlProject(Internal::Manager *manager, const Utils::FileName &fileName) :
|
||||||
: m_manager(manager),
|
m_fileName(fileName),
|
||||||
m_fileName(fileName),
|
m_defaultImport(UnknownImport)
|
||||||
m_defaultImport(UnknownImport),
|
|
||||||
m_activeTarget(0)
|
|
||||||
{
|
{
|
||||||
setId("QmlProjectManager.QmlProject");
|
setId("QmlProjectManager.QmlProject");
|
||||||
|
setProjectManager(manager);
|
||||||
setDocument(new Internal::QmlProjectFile(this, fileName));
|
setDocument(new Internal::QmlProjectFile(this, fileName));
|
||||||
DocumentManager::addDocument(document(), true);
|
DocumentManager::addDocument(document(), true);
|
||||||
|
|
||||||
@@ -76,12 +75,12 @@ QmlProject::QmlProject(Internal::Manager *manager, const Utils::FileName &fileNa
|
|||||||
|
|
||||||
m_rootNode = new Internal::QmlProjectNode(this);
|
m_rootNode = new Internal::QmlProjectNode(this);
|
||||||
|
|
||||||
m_manager->registerProject(this);
|
projectManager()->registerProject(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
QmlProject::~QmlProject()
|
QmlProject::~QmlProject()
|
||||||
{
|
{
|
||||||
m_manager->unregisterProject(this);
|
projectManager()->unregisterProject(this);
|
||||||
|
|
||||||
delete m_projectItem.data();
|
delete m_projectItem.data();
|
||||||
delete m_rootNode;
|
delete m_rootNode;
|
||||||
@@ -290,9 +289,9 @@ QString QmlProject::displayName() const
|
|||||||
return m_projectName;
|
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
|
bool QmlProject::supportsKit(Kit *k, QString *errorMessage) const
|
||||||
|
@@ -33,6 +33,8 @@
|
|||||||
|
|
||||||
#include "qmlprojectmanager_global.h"
|
#include "qmlprojectmanager_global.h"
|
||||||
|
|
||||||
|
#include "qmlprojectmanager.h"
|
||||||
|
|
||||||
#include <projectexplorer/project.h>
|
#include <projectexplorer/project.h>
|
||||||
|
|
||||||
#include <QPointer>
|
#include <QPointer>
|
||||||
@@ -46,7 +48,6 @@ namespace QmlProjectManager {
|
|||||||
class QmlProjectItem;
|
class QmlProjectItem;
|
||||||
|
|
||||||
namespace Internal {
|
namespace Internal {
|
||||||
class Manager;
|
|
||||||
class QmlProjectFile;
|
class QmlProjectFile;
|
||||||
class QmlProjectNode;
|
class QmlProjectNode;
|
||||||
} // namespace Internal
|
} // namespace Internal
|
||||||
@@ -62,7 +63,7 @@ public:
|
|||||||
Utils::FileName filesFileName() const;
|
Utils::FileName filesFileName() const;
|
||||||
|
|
||||||
QString displayName() const override;
|
QString displayName() const override;
|
||||||
ProjectExplorer::IProjectManager *projectManager() const override;
|
Internal::Manager *projectManager() const override;
|
||||||
|
|
||||||
bool supportsKit(ProjectExplorer::Kit *k, QString *errorMessage) const override;
|
bool supportsKit(ProjectExplorer::Kit *k, QString *errorMessage) const override;
|
||||||
|
|
||||||
@@ -109,11 +110,10 @@ private:
|
|||||||
QStringList convertToAbsoluteFiles(const QStringList &paths) const;
|
QStringList convertToAbsoluteFiles(const QStringList &paths) const;
|
||||||
QmlJS::ModelManagerInterface *modelManager() const;
|
QmlJS::ModelManagerInterface *modelManager() const;
|
||||||
|
|
||||||
Internal::Manager *m_manager;
|
|
||||||
Utils::FileName m_fileName;
|
Utils::FileName m_fileName;
|
||||||
QString m_projectName;
|
QString m_projectName;
|
||||||
QmlImport m_defaultImport;
|
QmlImport m_defaultImport;
|
||||||
ProjectExplorer::Target *m_activeTarget;
|
ProjectExplorer::Target *m_activeTarget = 0;
|
||||||
|
|
||||||
// plain format
|
// plain format
|
||||||
QStringList m_files;
|
QStringList m_files;
|
||||||
|
Reference in New Issue
Block a user