diff options
author | Tobias Hunger <tobias.hunger@qt.io> | 2019-08-15 12:24:08 +0200 |
---|---|---|
committer | Tobias Hunger <tobias.hunger@qt.io> | 2019-08-16 12:46:13 +0000 |
commit | 22092ee4e629907b4852a2ad474219f5cd26e031 (patch) | |
tree | b69c1ecd8ba0cac0c1c568f63519c0a7abc8173e /src/plugins/genericprojectmanager | |
parent | 007d134bc3f77676f5da5c8369b445f810e882f7 (diff) |
GenericProject: Simplify code based on Project::projectFileIsDirty signal
Change-Id: I3e9eb892f22c716c3b6cf40498f232d234aa163e
Reviewed-by: hjk <hjk@qt.io>
Diffstat (limited to 'src/plugins/genericprojectmanager')
-rw-r--r-- | src/plugins/genericprojectmanager/genericproject.cpp | 53 | ||||
-rw-r--r-- | src/plugins/genericprojectmanager/genericproject.h | 5 |
2 files changed, 25 insertions, 33 deletions
diff --git a/src/plugins/genericprojectmanager/genericproject.cpp b/src/plugins/genericprojectmanager/genericproject.cpp index e25fa77eb8..9a1d7b130d 100644 --- a/src/plugins/genericprojectmanager/genericproject.cpp +++ b/src/plugins/genericprojectmanager/genericproject.cpp @@ -171,15 +171,25 @@ static bool writeFile(const QString &filePath, const QString &contents) return saver.write(contents.toUtf8()) && saver.finalize(); } -GenericProject::GenericProject(const Utils::FilePath &fileName) : - Project(Constants::GENERICMIMETYPE, fileName, [this]() { refresh(Everything); }), - m_cppCodeModelUpdater(new CppTools::CppProjectUpdater), - m_deployFileWatcher(new FileSystemWatcher(this)) +GenericProject::GenericProject(const Utils::FilePath &fileName) + : Project(Constants::GENERICMIMETYPE, fileName) + , m_cppCodeModelUpdater(new CppTools::CppProjectUpdater) + , m_deployFileWatcher(new FileSystemWatcher(this)) { setId(Constants::GENERICPROJECT_ID); setProjectLanguages(Context(ProjectExplorer::Constants::CXX_LANGUAGE_ID)); setDisplayName(fileName.toFileInfo().completeBaseName()); + connect(this, &GenericProject::projectFileIsDirty, this, [this](const FilePath &p) { + if (p.endsWith(".files")) + refresh(Files); + else if (p.endsWith(".includes") || p.endsWith(".config") || p.endsWith(".cxxflags") + || p.endsWith(".cflags")) + refresh(Configuration); + else + refresh(Everything); + }); + const QFileInfo fileInfo = projectFilePath().toFileInfo(); const QDir dir = fileInfo.dir(); @@ -187,7 +197,7 @@ GenericProject::GenericProject(const Utils::FilePath &fileName) : m_filesFileName = QFileInfo(dir, projectName + ".files").absoluteFilePath(); m_includesFileName = QFileInfo(dir, projectName + ".includes").absoluteFilePath(); - m_configFileName = QFileInfo(dir, projectName + ".config").absoluteFilePath(); + m_configFileName = QFileInfo(dir, projectName + ".config").absoluteFilePath(); const QFileInfo cxxflagsFileInfo(dir, projectName + ".cxxflags"); m_cxxflagsFileName = cxxflagsFileInfo.absoluteFilePath(); @@ -201,24 +211,16 @@ GenericProject::GenericProject(const Utils::FilePath &fileName) : QTC_CHECK(writeFile(m_cflagsFileName, Constants::GENERICPROJECT_CFLAGS_FILE_TEMPLATE)); } - m_filesIDocument - = new ProjectDocument(Constants::GENERICMIMETYPE, FilePath::fromString(m_filesFileName), - [this]() { refresh(Files); }); - m_includesIDocument - = new ProjectDocument(Constants::GENERICMIMETYPE, FilePath::fromString(m_includesFileName), - [this]() { refresh(Configuration); }); - m_configIDocument - = new ProjectDocument(Constants::GENERICMIMETYPE, FilePath::fromString(m_configFileName), - [this]() { refresh(Configuration); }); - m_cxxFlagsIDocument - = new ProjectDocument(Constants::GENERICMIMETYPE, FilePath::fromString(m_cxxflagsFileName), - [this]() { refresh(Configuration); }); - m_cFlagsIDocument - = new ProjectDocument(Constants::GENERICMIMETYPE, FilePath::fromString(m_cflagsFileName), - [this]() { refresh(Configuration); }); - - connect(m_deployFileWatcher, &FileSystemWatcher::fileChanged, - this, &GenericProject::updateDeploymentData); + setExtraProjectFiles({FilePath::fromString(m_filesFileName), + FilePath::fromString(m_includesFileName), + FilePath::fromString(m_configFileName), + FilePath::fromString(m_cxxflagsFileName), + FilePath::fromString(m_cflagsFileName)}); + + connect(m_deployFileWatcher, + &FileSystemWatcher::fileChanged, + this, + &GenericProject::updateDeploymentData); connect(this, &Project::activeTargetChanged, this, [this] { refresh(Everything); }); @@ -228,11 +230,6 @@ GenericProject::GenericProject(const Utils::FilePath &fileName) : GenericProject::~GenericProject() { delete m_cppCodeModelUpdater; - m_filesIDocument->deleteLater(); - m_includesIDocument->deleteLater(); - m_configIDocument->deleteLater(); - m_cxxFlagsIDocument->deleteLater(); - m_cFlagsIDocument->deleteLater(); } static QStringList readLines(const QString &absoluteFileName) diff --git a/src/plugins/genericprojectmanager/genericproject.h b/src/plugins/genericprojectmanager/genericproject.h index 5725e7eab3..2072558f55 100644 --- a/src/plugins/genericprojectmanager/genericproject.h +++ b/src/plugins/genericprojectmanager/genericproject.h @@ -78,11 +78,6 @@ private: QString m_configFileName; QString m_cxxflagsFileName; QString m_cflagsFileName; - ProjectExplorer::ProjectDocument *m_filesIDocument = nullptr; - ProjectExplorer::ProjectDocument *m_includesIDocument = nullptr; - ProjectExplorer::ProjectDocument *m_configIDocument = nullptr; - ProjectExplorer::ProjectDocument *m_cxxFlagsIDocument = nullptr; - ProjectExplorer::ProjectDocument *m_cFlagsIDocument = nullptr; QStringList m_rawFileList; QStringList m_files; QHash<QString, QString> m_rawListEntries; |