Project: Add setDocument method

Add setDocument method, implement document method, use this in all
projects.

Change-Id: I5018bf7c2739665c13eee340184ce7c41fd319bb
Reviewed-by: Niels Weber <niels.weber@theqtcompany.com>
This commit is contained in:
Tobias Hunger
2016-01-08 11:09:37 +01:00
parent dc3ca42eea
commit b386dd0e99
24 changed files with 62 additions and 123 deletions

View File

@@ -39,8 +39,7 @@ using namespace Utils;
namespace CMakeProjectManager {
namespace Internal {
CMakeFile::CMakeFile(CMakeProject *parent, const FileName &fileName)
: Core::IDocument(parent), m_project(parent)
CMakeFile::CMakeFile(const FileName &fileName)
{
setId("Cmake.ProjectFile");
setMimeType(QLatin1String(Constants::CMAKEPROJECTMIMETYPE));

View File

@@ -42,7 +42,7 @@ class CMakeFile : public Core::IDocument
{
Q_OBJECT
public:
CMakeFile(CMakeProject *parent, const Utils::FileName &fileName);
CMakeFile(const Utils::FileName &fileName);
bool save(QString *errorString, const QString &fileName, bool autoSave) override;
@@ -54,9 +54,6 @@ public:
ReloadBehavior reloadBehavior(ChangeTrigger state, ChangeType type) const override;
bool reload(QString *errorString, ReloadFlag flag, ChangeType type) override;
private:
CMakeProject *m_project;
};
} // namespace Internal

View File

@@ -95,13 +95,12 @@ CMakeProject::CMakeProject(CMakeManager *manager, const FileName &fileName)
m_watcher(new QFileSystemWatcher(this))
{
setId(Constants::CMAKEPROJECT_ID);
setDocument(new CMakeFile(fileName));
setProjectContext(Core::Context(CMakeProjectManager::Constants::PROJECTCONTEXT));
setProjectLanguages(Core::Context(ProjectExplorer::Constants::LANG_CXX));
m_rootNode->setDisplayName(fileName.parentDir().fileName());
m_file = new CMakeFile(this, fileName);
connect(this, &CMakeProject::buildTargetsChanged, this, &CMakeProject::updateRunConfigurations);
connect(m_watcher, &QFileSystemWatcher::fileChanged, this, &CMakeProject::fileChanged);
}
@@ -512,11 +511,6 @@ QString CMakeProject::displayName() const
return m_rootNode->displayName();
}
Core::IDocument *CMakeProject::document() const
{
return m_file;
}
IProjectManager *CMakeProject::projectManager() const
{
return m_manager;

View File

@@ -99,7 +99,6 @@ public:
~CMakeProject() override;
QString displayName() const override;
Core::IDocument *document() const override;
ProjectExplorer::IProjectManager *projectManager() const override;
ProjectExplorer::ProjectNode *rootProjectNode() const override;
@@ -151,7 +150,6 @@ private:
Internal::CMakeManager *m_manager;
ProjectExplorer::Target *m_activeTarget;
Utils::FileName m_fileName;
Internal::CMakeFile *m_file;
// TODO probably need a CMake specific node structure
Internal::CMakeProjectNode *m_rootNode;