aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/genericprojectmanager
diff options
context:
space:
mode:
authorTobias Hunger <tobias.hunger@qt.io>2019-08-15 12:24:08 +0200
committerTobias Hunger <tobias.hunger@qt.io>2019-08-16 12:46:13 +0000
commit22092ee4e629907b4852a2ad474219f5cd26e031 (patch)
treeb69c1ecd8ba0cac0c1c568f63519c0a7abc8173e /src/plugins/genericprojectmanager
parent007d134bc3f77676f5da5c8369b445f810e882f7 (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.cpp53
-rw-r--r--src/plugins/genericprojectmanager/genericproject.h5
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;