From 4d3d2d0dfb4e959947f06760cfca2a7bf7d860ff Mon Sep 17 00:00:00 2001 From: hjk Date: Tue, 28 Feb 2017 15:13:16 +0100 Subject: [PATCH] ProjectExplorer: Remove Project manager parameter from some constructors Can be done generically when creating projects. The only wart is the use from BaseQmakeProjectWizardDialog::writeUserFile. Change-Id: Ie98c9f88ec142e82443e204a0075e3ae9e163752 Reviewed-by: Tobias Hunger --- src/plugins/autotoolsprojectmanager/autotoolsmanager.cpp | 2 +- src/plugins/autotoolsprojectmanager/autotoolsproject.cpp | 3 +-- src/plugins/autotoolsprojectmanager/autotoolsproject.h | 2 +- src/plugins/cmakeprojectmanager/cmakeproject.cpp | 3 +-- src/plugins/cmakeprojectmanager/cmakeproject.h | 3 +-- src/plugins/cmakeprojectmanager/cmakeprojectmanager.cpp | 2 +- src/plugins/genericprojectmanager/genericproject.cpp | 3 +-- src/plugins/genericprojectmanager/genericproject.h | 2 +- .../genericprojectmanager/genericprojectmanager.cpp | 2 +- src/plugins/nim/project/nimproject.cpp | 3 +-- src/plugins/nim/project/nimproject.h | 8 +------- src/plugins/nim/project/nimprojectmanager.cpp | 2 +- src/plugins/projectexplorer/projectexplorer.cpp | 1 + src/plugins/pythoneditor/pythoneditorplugin.cpp | 7 +++---- src/plugins/qbsprojectmanager/qbsproject.cpp | 3 +-- src/plugins/qbsprojectmanager/qbsproject.h | 2 +- src/plugins/qbsprojectmanager/qbsprojectmanager.cpp | 2 +- src/plugins/qmakeprojectmanager/qmakeproject.cpp | 2 +- src/plugins/qmakeprojectmanager/qmakeproject.h | 2 +- 19 files changed, 21 insertions(+), 33 deletions(-) diff --git a/src/plugins/autotoolsprojectmanager/autotoolsmanager.cpp b/src/plugins/autotoolsprojectmanager/autotoolsmanager.cpp index 8d47d122e82..cdc806e3324 100644 --- a/src/plugins/autotoolsprojectmanager/autotoolsmanager.cpp +++ b/src/plugins/autotoolsprojectmanager/autotoolsmanager.cpp @@ -50,7 +50,7 @@ Project *AutotoolsManager::openProject(const QString &fileName, QString *errorSt return 0; } - return new AutotoolsProject(this, fileName); + return new AutotoolsProject(fileName); } QString AutotoolsManager::mimeType() const diff --git a/src/plugins/autotoolsprojectmanager/autotoolsproject.cpp b/src/plugins/autotoolsprojectmanager/autotoolsproject.cpp index 45c3f81d547..1b986bd7ed3 100644 --- a/src/plugins/autotoolsprojectmanager/autotoolsproject.cpp +++ b/src/plugins/autotoolsprojectmanager/autotoolsproject.cpp @@ -69,12 +69,11 @@ using namespace AutotoolsProjectManager; using namespace AutotoolsProjectManager::Internal; using namespace ProjectExplorer; -AutotoolsProject::AutotoolsProject(AutotoolsManager *manager, const QString &fileName) : +AutotoolsProject::AutotoolsProject(const QString &fileName) : m_fileWatcher(new Utils::FileSystemWatcher(this)), m_cppCodeModelUpdater(new CppTools::CppProjectUpdater(this)) { setId(Constants::AUTOTOOLS_PROJECT_ID); - setProjectManager(manager); setDocument(new AutotoolsProjectFile(fileName)); setRootProjectNode(new AutotoolsProjectNode(projectDirectory())); setProjectContext(Core::Context(Constants::PROJECT_CONTEXT)); diff --git a/src/plugins/autotoolsprojectmanager/autotoolsproject.h b/src/plugins/autotoolsprojectmanager/autotoolsproject.h index 7ee1017ae38..06642babdb9 100644 --- a/src/plugins/autotoolsprojectmanager/autotoolsproject.h +++ b/src/plugins/autotoolsprojectmanager/autotoolsproject.h @@ -66,7 +66,7 @@ class AutotoolsProject : public ProjectExplorer::Project Q_OBJECT public: - AutotoolsProject(AutotoolsManager *manager, const QString &fileName); + AutotoolsProject(const QString &fileName); ~AutotoolsProject() override; QString displayName() const override; diff --git a/src/plugins/cmakeprojectmanager/cmakeproject.cpp b/src/plugins/cmakeprojectmanager/cmakeproject.cpp index d13304108f2..a1b7b9b9469 100644 --- a/src/plugins/cmakeprojectmanager/cmakeproject.cpp +++ b/src/plugins/cmakeprojectmanager/cmakeproject.cpp @@ -73,11 +73,10 @@ using namespace Internal; /*! \class CMakeProject */ -CMakeProject::CMakeProject(CMakeManager *manager, const FileName &fileName) +CMakeProject::CMakeProject(const FileName &fileName) : m_cppCodeModelUpdater(new CppTools::CppProjectUpdater(this)) { setId(CMakeProjectManager::Constants::CMAKEPROJECT_ID); - setProjectManager(manager); setDocument(new TextEditor::TextDocument); document()->setFilePath(fileName); diff --git a/src/plugins/cmakeprojectmanager/cmakeproject.h b/src/plugins/cmakeprojectmanager/cmakeproject.h index 7d8711c9f19..33890fcd8ff 100644 --- a/src/plugins/cmakeprojectmanager/cmakeproject.h +++ b/src/plugins/cmakeprojectmanager/cmakeproject.h @@ -50,7 +50,6 @@ namespace CMakeProjectManager { namespace Internal { class CMakeBuildConfiguration; class CMakeBuildSettingsWidget; -class CMakeManager; } // namespace Internal enum TargetType { @@ -84,7 +83,7 @@ class CMAKE_EXPORT CMakeProject : public ProjectExplorer::Project Q_OBJECT public: - CMakeProject(Internal::CMakeManager *manager, const Utils::FileName &filename); + explicit CMakeProject(const Utils::FileName &filename); ~CMakeProject() final; QString displayName() const final; diff --git a/src/plugins/cmakeprojectmanager/cmakeprojectmanager.cpp b/src/plugins/cmakeprojectmanager/cmakeprojectmanager.cpp index c216ca06ce1..f7e4c22cd5e 100644 --- a/src/plugins/cmakeprojectmanager/cmakeprojectmanager.cpp +++ b/src/plugins/cmakeprojectmanager/cmakeprojectmanager.cpp @@ -166,7 +166,7 @@ Project *CMakeManager::openProject(const QString &fileName, QString *errorString return 0; } - return new CMakeProject(this, file); + return new CMakeProject(file); } QString CMakeManager::mimeType() const diff --git a/src/plugins/genericprojectmanager/genericproject.cpp b/src/plugins/genericprojectmanager/genericproject.cpp index 7d6a12e87e3..cd1362fdc13 100644 --- a/src/plugins/genericprojectmanager/genericproject.cpp +++ b/src/plugins/genericprojectmanager/genericproject.cpp @@ -65,11 +65,10 @@ namespace Internal { // //////////////////////////////////////////////////////////////////////////////////// -GenericProject::GenericProject(Manager *manager, const QString &fileName) +GenericProject::GenericProject(const QString &fileName) : m_cppCodeModelUpdater(new CppTools::CppProjectUpdater(this)) { setId(Constants::GENERICPROJECT_ID); - setProjectManager(manager); setDocument(new GenericProjectFile(this, fileName, GenericProject::Everything)); setRootProjectNode(new GenericProjectNode(this)); setProjectContext(Context(GenericProjectManager::Constants::PROJECTCONTEXT)); diff --git a/src/plugins/genericprojectmanager/genericproject.h b/src/plugins/genericprojectmanager/genericproject.h index 815f8024b06..215e5b0039f 100644 --- a/src/plugins/genericprojectmanager/genericproject.h +++ b/src/plugins/genericprojectmanager/genericproject.h @@ -49,7 +49,7 @@ class GenericProject : public ProjectExplorer::Project Q_OBJECT public: - GenericProject(Manager *manager, const QString &filename); + explicit GenericProject(const QString &filename); ~GenericProject() override; QString filesFileName() const; diff --git a/src/plugins/genericprojectmanager/genericprojectmanager.cpp b/src/plugins/genericprojectmanager/genericprojectmanager.cpp index eb7dbdfe192..9e46f6c1ced 100644 --- a/src/plugins/genericprojectmanager/genericprojectmanager.cpp +++ b/src/plugins/genericprojectmanager/genericprojectmanager.cpp @@ -51,7 +51,7 @@ ProjectExplorer::Project *Manager::openProject(const QString &fileName, QString return 0; } - return new GenericProject(this, fileName); + return new GenericProject(fileName); } void Manager::registerProject(GenericProject *project) diff --git a/src/plugins/nim/project/nimproject.cpp b/src/plugins/nim/project/nimproject.cpp index 74cc8a91b71..bb3a8ef2612 100644 --- a/src/plugins/nim/project/nimproject.cpp +++ b/src/plugins/nim/project/nimproject.cpp @@ -54,10 +54,9 @@ namespace Nim { const int MIN_TIME_BETWEEN_PROJECT_SCANS = 4500; -NimProject::NimProject(NimProjectManager *projectManager, const QString &fileName) +NimProject::NimProject(const QString &fileName) { setId(Constants::C_NIMPROJECT_ID); - setProjectManager(projectManager); setDocument(new TextEditor::TextDocument); document()->setFilePath(FileName::fromString(fileName)); QFileInfo fi = QFileInfo(fileName); diff --git a/src/plugins/nim/project/nimproject.h b/src/plugins/nim/project/nimproject.h index 0e8b99f0722..385942dbe46 100644 --- a/src/plugins/nim/project/nimproject.h +++ b/src/plugins/nim/project/nimproject.h @@ -29,23 +29,17 @@ #include #include -#include #include #include -namespace TextEditor { class TextDocument; } - namespace Nim { -class NimProjectManager; -class NimProjectNode; - class NimProject : public ProjectExplorer::Project { Q_OBJECT public: - NimProject(NimProjectManager *projectManager, const QString &fileName); + explicit NimProject(const QString &fileName); QString displayName() const override; QStringList files(FilesMode) const override; diff --git a/src/plugins/nim/project/nimprojectmanager.cpp b/src/plugins/nim/project/nimprojectmanager.cpp index 6a5eff66e9c..3a529519164 100644 --- a/src/plugins/nim/project/nimprojectmanager.cpp +++ b/src/plugins/nim/project/nimprojectmanager.cpp @@ -44,7 +44,7 @@ Project *NimProjectManager::openProject(const QString &fileName, QString *errorS return nullptr; } - return new NimProject(this, fileName); + return new NimProject(fileName); } } diff --git a/src/plugins/projectexplorer/projectexplorer.cpp b/src/plugins/projectexplorer/projectexplorer.cpp index 9c41249bb87..de3cef38551 100644 --- a/src/plugins/projectexplorer/projectexplorer.cpp +++ b/src/plugins/projectexplorer/projectexplorer.cpp @@ -1709,6 +1709,7 @@ ProjectExplorerPlugin::OpenProjectResult ProjectExplorerPlugin::openProjects(con foundProjectManager = true; QString tmp; if (Project *pro = manager->openProject(filePath, &tmp)) { + pro->setProjectManager(manager); QObject::connect(pro, &Project::parsingFinished, [pro]() { emit SessionManager::instance()->projectFinishedParsing(pro); }); diff --git a/src/plugins/pythoneditor/pythoneditorplugin.cpp b/src/plugins/pythoneditor/pythoneditorplugin.cpp index 70b845eeb13..d66eb705ded 100644 --- a/src/plugins/pythoneditor/pythoneditorplugin.cpp +++ b/src/plugins/pythoneditor/pythoneditorplugin.cpp @@ -100,7 +100,7 @@ public: class PythonProject : public Project { public: - PythonProject(PythonProjectManager *manager, const QString &filename); + explicit PythonProject(const QString &filename); QString displayName() const override { return m_projectName; } PythonProjectManager *projectManager() const override; @@ -370,7 +370,7 @@ Project *PythonProjectManager::openProject(const QString &fileName, QString *err return 0; } - return new PythonProject(this, fileName); + return new PythonProject(fileName); } class PythonRunConfigurationFactory : public IRunConfigurationFactory @@ -443,10 +443,9 @@ private: } }; -PythonProject::PythonProject(PythonProjectManager *manager, const QString &fileName) +PythonProject::PythonProject(const QString &fileName) { setId(PythonProjectId); - setProjectManager(manager); setDocument(new PythonProjectFile(this, fileName)); DocumentManager::addDocument(document()); setRootProjectNode(new PythonProjectNode(this)); diff --git a/src/plugins/qbsprojectmanager/qbsproject.cpp b/src/plugins/qbsprojectmanager/qbsproject.cpp index 22baf5a80a1..d10c84faf59 100644 --- a/src/plugins/qbsprojectmanager/qbsproject.cpp +++ b/src/plugins/qbsprojectmanager/qbsproject.cpp @@ -117,7 +117,7 @@ private: // QbsProject: // -------------------------------------------------------------------- -QbsProject::QbsProject(QbsManager *manager, const QString &fileName) : +QbsProject::QbsProject(const QString &fileName) : m_projectName(QFileInfo(fileName).completeBaseName()), m_qbsProjectParser(0), m_qbsUpdateFutureInterface(0), @@ -130,7 +130,6 @@ 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, fileName)); DocumentManager::addDocument(document()); setRootProjectNode(new QbsRootProjectNode(this)); diff --git a/src/plugins/qbsprojectmanager/qbsproject.h b/src/plugins/qbsprojectmanager/qbsproject.h index e76887b9ed2..d3ea391a80c 100644 --- a/src/plugins/qbsprojectmanager/qbsproject.h +++ b/src/plugins/qbsprojectmanager/qbsproject.h @@ -60,7 +60,7 @@ class QbsProject : public ProjectExplorer::Project Q_OBJECT public: - QbsProject(QbsManager *manager, const QString &filename); + explicit QbsProject(const QString &filename); ~QbsProject() override; QString displayName() const override; diff --git a/src/plugins/qbsprojectmanager/qbsprojectmanager.cpp b/src/plugins/qbsprojectmanager/qbsprojectmanager.cpp index 23bf11a09c3..bc5f41711f9 100644 --- a/src/plugins/qbsprojectmanager/qbsprojectmanager.cpp +++ b/src/plugins/qbsprojectmanager/qbsprojectmanager.cpp @@ -114,7 +114,7 @@ ProjectExplorer::Project *QbsManager::openProject(const QString &fileName, QStri return nullptr; } - return new QbsProject(this, fileName); + return new QbsProject(fileName); } QString QbsManager::profileForKit(const ProjectExplorer::Kit *k) diff --git a/src/plugins/qmakeprojectmanager/qmakeproject.cpp b/src/plugins/qmakeprojectmanager/qmakeproject.cpp index f54fd083e2d..435d88545d6 100644 --- a/src/plugins/qmakeprojectmanager/qmakeproject.cpp +++ b/src/plugins/qmakeprojectmanager/qmakeproject.cpp @@ -246,7 +246,7 @@ bool QmakeProjectFile::reload(QString *errorString, ReloadFlag flag, ChangeType QmakeProject manages information about an individual Qt 4 (.pro) project file. */ -QmakeProject::QmakeProject(QmakeManager *manager, const QString &fileName) : +QmakeProject::QmakeProject(IProjectManager *manager, const QString &fileName) : m_projectFiles(new QmakeProjectFiles), m_qmakeVfs(new QMakeVfs), m_cppCodeModelUpdater(new CppTools::CppProjectUpdater(this)) diff --git a/src/plugins/qmakeprojectmanager/qmakeproject.h b/src/plugins/qmakeprojectmanager/qmakeproject.h index f63a85af8dd..abd085d481a 100644 --- a/src/plugins/qmakeprojectmanager/qmakeproject.h +++ b/src/plugins/qmakeprojectmanager/qmakeproject.h @@ -62,7 +62,7 @@ class QMAKEPROJECTMANAGER_EXPORT QmakeProject : public ProjectExplorer::Project Q_OBJECT public: - QmakeProject(QmakeManager *manager, const QString &proFile); + QmakeProject(ProjectExplorer::IProjectManager *manager, const QString &proFile); ~QmakeProject() final; QmakeProFile *rootProFile() const;