forked from qt-creator/qt-creator
GenericProject: Simplify code based on Project::projectFileIsDirty signal
Change-Id: I3e9eb892f22c716c3b6cf40498f232d234aa163e Reviewed-by: hjk <hjk@qt.io>
This commit is contained in:
@@ -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();
|
||||
|
||||
@@ -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); });
|
||||
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(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)
|
||||
|
@@ -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;
|
||||
|
Reference in New Issue
Block a user