forked from qt-creator/qt-creator
qmake: QmakePriFile is no longer a ProjectNode
Change-Id: Ife3ca88e0d4e0a9de290b2b991ac8d10e3c55674 Reviewed-by: Tim Jenssen <tim.jenssen@qt.io> Reviewed-by: Alessandro Portale <alessandro.portale@qt.io> Reviewed-by: hjk <hjk@qt.io> Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
This commit is contained in:
committed by
Tim Jenssen
parent
80aad7bdd4
commit
aa4c7dc07c
@@ -247,17 +247,13 @@ public:
|
|||||||
} // namespace Internal
|
} // namespace Internal
|
||||||
|
|
||||||
QmakePriFile::QmakePriFile(QmakeProject *project, QmakeProFile *qmakeProFile,
|
QmakePriFile::QmakePriFile(QmakeProject *project, QmakeProFile *qmakeProFile,
|
||||||
const FileName &filePath)
|
const FileName &filePath) :
|
||||||
: ProjectNode(filePath),
|
m_project(project),
|
||||||
m_project(project),
|
m_qmakeProFile(qmakeProFile)
|
||||||
m_qmakeProFile(qmakeProFile)
|
|
||||||
{
|
{
|
||||||
Q_ASSERT(project);
|
Q_ASSERT(project);
|
||||||
m_priFileDocument = std::make_unique<QmakePriFileDocument>(this, filePath);
|
m_priFileDocument = std::make_unique<QmakePriFileDocument>(this, filePath);
|
||||||
Core::DocumentManager::addDocument(m_priFileDocument.get());
|
Core::DocumentManager::addDocument(m_priFileDocument.get());
|
||||||
|
|
||||||
setDisplayName(filePath.toFileInfo().completeBaseName());
|
|
||||||
setIcon(qmakeStaticData()->projectIcon);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
FileName QmakePriFile::filePath() const
|
FileName QmakePriFile::filePath() const
|
||||||
@@ -280,6 +276,12 @@ QVector<QmakePriFile *> QmakePriFile::children() const
|
|||||||
return m_children;
|
return m_children;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void QmakePriFile::makeEmpty()
|
||||||
|
{
|
||||||
|
qDeleteAll(m_children);
|
||||||
|
m_children.clear();
|
||||||
|
}
|
||||||
|
|
||||||
QmakePriFile::~QmakePriFile()
|
QmakePriFile::~QmakePriFile()
|
||||||
{
|
{
|
||||||
watchFolders(QSet<QString>());
|
watchFolders(QSet<QString>());
|
||||||
@@ -492,20 +494,24 @@ bool QmakePriFile::deploysFolder(const QString &folder) const
|
|||||||
|
|
||||||
QList<RunConfiguration *> QmakePriFile::runConfigurations() const
|
QList<RunConfiguration *> QmakePriFile::runConfigurations() const
|
||||||
{
|
{
|
||||||
|
#if 0
|
||||||
QmakeRunConfigurationFactory *factory = QmakeRunConfigurationFactory::find(m_project->activeTarget());
|
QmakeRunConfigurationFactory *factory = QmakeRunConfigurationFactory::find(m_project->activeTarget());
|
||||||
if (factory)
|
if (factory)
|
||||||
return factory->runConfigurationsForNode(m_project->activeTarget(), this);
|
return factory->runConfigurationsForNode(m_project->activeTarget(), this);
|
||||||
|
#endif
|
||||||
return QList<RunConfiguration *>();
|
return QList<RunConfiguration *>();
|
||||||
}
|
}
|
||||||
|
|
||||||
QList<QmakePriFile *> QmakePriFile::subPriFilesExact() const
|
QList<QmakePriFile *> QmakePriFile::subPriFilesExact() const
|
||||||
{
|
{
|
||||||
QList<QmakePriFile *> nodes;
|
QList<QmakePriFile *> nodes;
|
||||||
|
#if 0
|
||||||
foreach (ProjectNode *node, projectNodes()) {
|
foreach (ProjectNode *node, projectNodes()) {
|
||||||
QmakePriFile *n = dynamic_cast<QmakePriFile *>(node);
|
QmakePriFile *n = dynamic_cast<QmakePriFile *>(node);
|
||||||
if (n && n->includedInExactParse())
|
if (n && n->includedInExactParse())
|
||||||
nodes << n;
|
nodes << n;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
return nodes;
|
return nodes;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -524,74 +530,6 @@ void QmakePriFile::setIncludedInExactParse(bool b)
|
|||||||
m_includedInExactParse = b;
|
m_includedInExactParse = b;
|
||||||
}
|
}
|
||||||
|
|
||||||
QList<ProjectAction> QmakePriFile::supportedActions(Node *node) const
|
|
||||||
{
|
|
||||||
QList<ProjectAction> actions;
|
|
||||||
|
|
||||||
const FolderNode *folderNode = this;
|
|
||||||
const QmakeProFile *proFile;
|
|
||||||
while (!(proFile = dynamic_cast<const QmakeProFile*>(folderNode)))
|
|
||||||
folderNode = folderNode->parentFolderNode();
|
|
||||||
Q_ASSERT(proFile);
|
|
||||||
|
|
||||||
switch (proFile->projectType()) {
|
|
||||||
case ProjectType::ApplicationTemplate:
|
|
||||||
case ProjectType::StaticLibraryTemplate:
|
|
||||||
case ProjectType::SharedLibraryTemplate:
|
|
||||||
case ProjectType::AuxTemplate: {
|
|
||||||
// TODO: Some of the file types don't make much sense for aux
|
|
||||||
// projects (e.g. cpp). It'd be nice if the "add" action could
|
|
||||||
// work on a subset of the file types according to project type.
|
|
||||||
|
|
||||||
actions << AddNewFile;
|
|
||||||
if (m_recursiveEnumerateFiles.contains(node->filePath()))
|
|
||||||
actions << EraseFile;
|
|
||||||
else
|
|
||||||
actions << RemoveFile;
|
|
||||||
|
|
||||||
bool addExistingFiles = true;
|
|
||||||
if (node->nodeType() == NodeType::VirtualFolder) {
|
|
||||||
// A virtual folder, we do what the projectexplorer does
|
|
||||||
FolderNode *folder = node->asFolderNode();
|
|
||||||
if (folder) {
|
|
||||||
QStringList list;
|
|
||||||
foreach (FolderNode *f, folder->folderNodes())
|
|
||||||
list << f->filePath().toString() + QLatin1Char('/');
|
|
||||||
if (deploysFolder(Utils::commonPath(list)))
|
|
||||||
addExistingFiles = false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
addExistingFiles = addExistingFiles && !deploysFolder(node->filePath().toString());
|
|
||||||
|
|
||||||
if (addExistingFiles)
|
|
||||||
actions << AddExistingFile << AddExistingDirectory;
|
|
||||||
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
case ProjectType::SubDirsTemplate:
|
|
||||||
actions << AddSubProject << RemoveSubProject;
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
FileNode *fileNode = node->asFileNode();
|
|
||||||
if ((fileNode && fileNode->fileType() != FileType::Project)
|
|
||||||
|| dynamic_cast<ResourceEditor::ResourceTopLevelNode *>(node)) {
|
|
||||||
actions << Rename;
|
|
||||||
actions << DuplicateFile;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
Target *target = m_project->activeTarget();
|
|
||||||
QmakeRunConfigurationFactory *factory = QmakeRunConfigurationFactory::find(target);
|
|
||||||
if (factory && !factory->runConfigurationsForNode(target, node).isEmpty())
|
|
||||||
actions << HasSubProjectRunConfigurations;
|
|
||||||
|
|
||||||
return actions;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool QmakePriFile::canAddSubProject(const QString &proFilePath) const
|
bool QmakePriFile::canAddSubProject(const QString &proFilePath) const
|
||||||
{
|
{
|
||||||
QFileInfo fi(proFilePath);
|
QFileInfo fi(proFilePath);
|
||||||
@@ -615,14 +553,11 @@ static QString simplifyProFilePath(const QString &proFilePath)
|
|||||||
|
|
||||||
bool QmakePriFile::addSubProjects(const QStringList &proFilePaths)
|
bool QmakePriFile::addSubProjects(const QStringList &proFilePaths)
|
||||||
{
|
{
|
||||||
FindAllFilesVisitor visitor;
|
|
||||||
accept(&visitor);
|
|
||||||
const FileNameList &allFiles = visitor.filePaths();
|
|
||||||
|
|
||||||
QStringList uniqueProFilePaths;
|
QStringList uniqueProFilePaths;
|
||||||
foreach (const QString &proFile, proFilePaths)
|
foreach (const QString &proFile, proFilePaths) {
|
||||||
if (!allFiles.contains(FileName::fromString(proFile)))
|
if (!m_recursiveEnumerateFiles.contains(FileName::fromString(proFile)))
|
||||||
uniqueProFilePaths.append(simplifyProFilePath(proFile));
|
uniqueProFilePaths.append(simplifyProFilePath(proFile));
|
||||||
|
}
|
||||||
|
|
||||||
QStringList failedFiles;
|
QStringList failedFiles;
|
||||||
changeFiles(QLatin1String(Constants::PROFILE_MIMETYPE), uniqueProFilePaths, &failedFiles, AddToProFile);
|
changeFiles(QLatin1String(Constants::PROFILE_MIMETYPE), uniqueProFilePaths, &failedFiles, AddToProFile);
|
||||||
@@ -650,10 +585,6 @@ bool QmakePriFile::addFiles(const QStringList &filePaths, QStringList *notAdded)
|
|||||||
// So it's obviously a bit limited, but in those cases you need to edit the
|
// So it's obviously a bit limited, but in those cases you need to edit the
|
||||||
// project files manually anyway.
|
// project files manually anyway.
|
||||||
|
|
||||||
FindAllFilesVisitor visitor;
|
|
||||||
accept(&visitor);
|
|
||||||
const FileNameList &allFiles = visitor.filePaths();
|
|
||||||
|
|
||||||
typedef QMap<QString, QStringList> TypeFileMap;
|
typedef QMap<QString, QStringList> TypeFileMap;
|
||||||
// Split into lists by file type and bulk-add them.
|
// Split into lists by file type and bulk-add them.
|
||||||
TypeFileMap typeFileMap;
|
TypeFileMap typeFileMap;
|
||||||
@@ -678,13 +609,13 @@ bool QmakePriFile::addFiles(const QStringList &filePaths, QStringList *notAdded)
|
|||||||
|
|
||||||
QStringList uniqueQrcFiles;
|
QStringList uniqueQrcFiles;
|
||||||
foreach (const QString &file, qrcFiles) {
|
foreach (const QString &file, qrcFiles) {
|
||||||
if (!allFiles.contains(FileName::fromString(file)))
|
if (!m_recursiveEnumerateFiles.contains(FileName::fromString(file)))
|
||||||
uniqueQrcFiles.append(file);
|
uniqueQrcFiles.append(file);
|
||||||
}
|
}
|
||||||
|
|
||||||
QStringList uniqueFilePaths;
|
QStringList uniqueFilePaths;
|
||||||
foreach (const QString &file, typeFiles) {
|
foreach (const QString &file, typeFiles) {
|
||||||
if (!allFiles.contains(FileName::fromString(file)))
|
if (!m_recursiveEnumerateFiles.contains(FileName::fromString(file)))
|
||||||
uniqueFilePaths.append(file);
|
uniqueFilePaths.append(file);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -753,12 +684,6 @@ bool QmakePriFile::renameFile(const QString &filePath, const QString &newFilePat
|
|||||||
return changeProFileOptional;
|
return changeProFileOptional;
|
||||||
}
|
}
|
||||||
|
|
||||||
FolderNode::AddNewInformation QmakePriFile::addNewInformation(const QStringList &files, Node *context) const
|
|
||||||
{
|
|
||||||
Q_UNUSED(files)
|
|
||||||
return FolderNode::AddNewInformation(filePath().fileName(), context && context->parentProjectNode() == this ? 120 : 90);
|
|
||||||
}
|
|
||||||
|
|
||||||
bool QmakePriFile::priFileWritable(const QString &path)
|
bool QmakePriFile::priFileWritable(const QString &path)
|
||||||
{
|
{
|
||||||
ReadOnlyFilesDialog roDialog(path, ICore::mainWindow());
|
ReadOnlyFilesDialog roDialog(path, ICore::mainWindow());
|
||||||
@@ -1201,8 +1126,8 @@ QmakeProFile *QmakeProFile::findProFileFor(const FileName &fileName) const
|
|||||||
{
|
{
|
||||||
if (fileName == filePath())
|
if (fileName == filePath())
|
||||||
return const_cast<QmakeProFile *>(this);
|
return const_cast<QmakeProFile *>(this);
|
||||||
foreach (ProjectNode *pn, projectNodes())
|
foreach (const QmakePriFile *n, children())
|
||||||
if (QmakeProFile *qmakeProFileNode = dynamic_cast<QmakeProFile *>(pn))
|
if (auto qmakeProFileNode = dynamic_cast<const QmakeProFile *>(n))
|
||||||
if (QmakeProFile *result = qmakeProFileNode->findProFileFor(fileName))
|
if (QmakeProFile *result = qmakeProFileNode->findProFileFor(fileName))
|
||||||
return result;
|
return result;
|
||||||
return nullptr;
|
return nullptr;
|
||||||
@@ -1276,17 +1201,16 @@ QmakeProFile::~QmakeProFile()
|
|||||||
|
|
||||||
bool QmakeProFile::isParent(QmakeProFile *node)
|
bool QmakeProFile::isParent(QmakeProFile *node)
|
||||||
{
|
{
|
||||||
while ((node = dynamic_cast<QmakeProFile *>(node->parentFolderNode()))) {
|
while ((node = dynamic_cast<QmakeProFile *>(node->parent()))) {
|
||||||
if (node == this)
|
if (node == this)
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
FolderNode::AddNewInformation QmakeProFile::addNewInformation(const QStringList &files, Node *context) const
|
QString QmakeProFile::displayName() const
|
||||||
{
|
{
|
||||||
Q_UNUSED(files)
|
return m_displayName;
|
||||||
return AddNewInformation(filePath().fileName(), context && context->parentProjectNode() == this ? 120 : 100);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
bool QmakeProFile::isDebugAndRelease() const
|
bool QmakeProFile::isDebugAndRelease() const
|
||||||
@@ -1320,8 +1244,8 @@ QString QmakeProFile::singleVariableValue(const Variable var) const
|
|||||||
void QmakeProFile::setParseInProgressRecursive(bool b)
|
void QmakeProFile::setParseInProgressRecursive(bool b)
|
||||||
{
|
{
|
||||||
setParseInProgress(b);
|
setParseInProgress(b);
|
||||||
foreach (ProjectNode *subNode, projectNodes()) {
|
foreach (QmakePriFile *c, children()) {
|
||||||
if (QmakeProFile *node = dynamic_cast<QmakeProFile *>(subNode))
|
if (auto node = dynamic_cast<QmakeProFile *>(c))
|
||||||
node->setParseInProgressRecursive(b);
|
node->setParseInProgressRecursive(b);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1341,8 +1265,8 @@ void QmakeProFile::setParseInProgress(bool b)
|
|||||||
void QmakeProFile::setValidParseRecursive(bool b)
|
void QmakeProFile::setValidParseRecursive(bool b)
|
||||||
{
|
{
|
||||||
m_validParse = b;
|
m_validParse = b;
|
||||||
foreach (ProjectNode *subNode, projectNodes()) {
|
foreach (QmakePriFile *c, children()) {
|
||||||
if (QmakeProFile *node = dynamic_cast<QmakeProFile *>(subNode))
|
if (QmakeProFile *node = dynamic_cast<QmakeProFile *>(c))
|
||||||
node->setValidParseRecursive(b);
|
node->setValidParseRecursive(b);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1701,6 +1625,7 @@ void QmakeProFile::applyEvaluate(QmakeEvalResult *evalResult)
|
|||||||
|
|
||||||
// delete files && folders && projects
|
// delete files && folders && projects
|
||||||
makeEmpty();
|
makeEmpty();
|
||||||
|
|
||||||
m_projectType = ProjectType::Invalid;
|
m_projectType = ProjectType::Invalid;
|
||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
@@ -1711,10 +1636,10 @@ void QmakeProFile::applyEvaluate(QmakeEvalResult *evalResult)
|
|||||||
if (result->projectType != m_projectType) {
|
if (result->projectType != m_projectType) {
|
||||||
// probably all subfiles/projects have changed anyway
|
// probably all subfiles/projects have changed anyway
|
||||||
// delete files && folders && projects
|
// delete files && folders && projects
|
||||||
foreach (ProjectNode *projectNode, projectNodes()) {
|
foreach (QmakePriFile *c, children()) {
|
||||||
if (QmakeProFile *qmakeProFileNode = dynamic_cast<QmakeProFile *>(projectNode)) {
|
if (auto qmakeProFile = dynamic_cast<QmakeProFile *>(c)) {
|
||||||
qmakeProFileNode->setValidParseRecursive(false);
|
qmakeProFile->setValidParseRecursive(false);
|
||||||
qmakeProFileNode->setParseInProgressRecursive(false);
|
qmakeProFile->setParseInProgressRecursive(false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1786,10 +1711,8 @@ void QmakeProFile::applyEvaluate(QmakeEvalResult *evalResult)
|
|||||||
m_varValues = result->newVarValues;
|
m_varValues = result->newVarValues;
|
||||||
|
|
||||||
const QString projectName = singleVariableValue(Variable::QmakeProjectName);
|
const QString projectName = singleVariableValue(Variable::QmakeProjectName);
|
||||||
if (projectName.isEmpty())
|
m_displayName = projectName.isEmpty() ? filePath().toFileInfo().completeBaseName()
|
||||||
setDisplayName(filePath().toFileInfo().completeBaseName());
|
: projectName;
|
||||||
else
|
|
||||||
setDisplayName(projectName);
|
|
||||||
} // result == EvalOk
|
} // result == EvalOk
|
||||||
|
|
||||||
setParseInProgress(false);
|
setParseInProgress(false);
|
||||||
@@ -1797,7 +1720,6 @@ void QmakeProFile::applyEvaluate(QmakeEvalResult *evalResult)
|
|||||||
updateGeneratedFiles(buildDirectory);
|
updateGeneratedFiles(buildDirectory);
|
||||||
|
|
||||||
cleanupProFileReaders();
|
cleanupProFileReaders();
|
||||||
ProjectNode::emitTreeChanged();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void QmakeProFile::cleanupProFileReaders()
|
void QmakeProFile::cleanupProFileReaders()
|
||||||
@@ -2091,6 +2013,7 @@ void QmakeProFile::updateGeneratedFiles(const QString &buildDir)
|
|||||||
QList<ExtraCompilerFactory *> factories =
|
QList<ExtraCompilerFactory *> factories =
|
||||||
ProjectExplorer::ExtraCompilerFactory::extraCompilerFactories();
|
ProjectExplorer::ExtraCompilerFactory::extraCompilerFactories();
|
||||||
|
|
||||||
|
#if 0
|
||||||
FindGeneratorSourcesVisitor filesVisitor(factories, [&](
|
FindGeneratorSourcesVisitor filesVisitor(factories, [&](
|
||||||
FileNode *file, ExtraCompilerFactory *factory) {
|
FileNode *file, ExtraCompilerFactory *factory) {
|
||||||
QStringList generated = generatedFiles(buildDir, file);
|
QStringList generated = generatedFiles(buildDir, file);
|
||||||
@@ -2104,4 +2027,5 @@ void QmakeProFile::updateGeneratedFiles(const QString &buildDir)
|
|||||||
|
|
||||||
// Find all generated files
|
// Find all generated files
|
||||||
accept(&filesVisitor);
|
accept(&filesVisitor);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -106,36 +106,32 @@ class QmakePriFileEvalResult;
|
|||||||
class InstallsParserList;
|
class InstallsParserList;
|
||||||
|
|
||||||
// Implements ProjectNode for qmake .pri files
|
// Implements ProjectNode for qmake .pri files
|
||||||
class QMAKEPROJECTMANAGER_EXPORT QmakePriFile : public ProjectExplorer::ProjectNode
|
class QMAKEPROJECTMANAGER_EXPORT QmakePriFile
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
QmakePriFile(QmakeProject *project, QmakeProFile *qmakeProFile, const Utils::FileName &filePath);
|
QmakePriFile(QmakeProject *project, QmakeProFile *qmakeProFile, const Utils::FileName &filePath);
|
||||||
~QmakePriFile() override;
|
virtual ~QmakePriFile();
|
||||||
|
|
||||||
Utils::FileName filePath() const;
|
Utils::FileName filePath() const;
|
||||||
Utils::FileName directoryPath() const;
|
Utils::FileName directoryPath() const;
|
||||||
|
|
||||||
QmakePriFile *parent() const;
|
QmakePriFile *parent() const;
|
||||||
QVector<QmakePriFile *> children() const;
|
QVector<QmakePriFile *> children() const;
|
||||||
|
void makeEmpty();
|
||||||
|
|
||||||
void update(const Internal::QmakePriFileEvalResult &result);
|
void update(const Internal::QmakePriFileEvalResult &result);
|
||||||
|
|
||||||
// ProjectNode interface
|
// ProjectNode interface
|
||||||
QList<ProjectExplorer::ProjectAction> supportedActions(Node *node) const override;
|
virtual bool canAddSubProject(const QString &proFilePath) const;
|
||||||
|
|
||||||
bool showInSimpleTree() const override { return false; }
|
virtual bool addSubProjects(const QStringList &proFilePaths);
|
||||||
|
virtual bool removeSubProjects(const QStringList &proFilePaths);
|
||||||
|
|
||||||
bool canAddSubProject(const QString &proFilePath) const override;
|
virtual bool addFiles(const QStringList &filePaths, QStringList *notAdded = nullptr);
|
||||||
|
virtual bool removeFiles(const QStringList &filePaths, QStringList *notRemoved = nullptr);
|
||||||
bool addSubProjects(const QStringList &proFilePaths) override;
|
virtual bool deleteFiles(const QStringList &filePaths);
|
||||||
bool removeSubProjects(const QStringList &proFilePaths) override;
|
virtual bool canRenameFile(const QString &filePath, const QString &newFilePath);
|
||||||
|
virtual bool renameFile(const QString &filePath, const QString &newFilePath);
|
||||||
bool addFiles(const QStringList &filePaths, QStringList *notAdded = nullptr) override;
|
|
||||||
bool removeFiles(const QStringList &filePaths, QStringList *notRemoved = nullptr) override;
|
|
||||||
bool deleteFiles(const QStringList &filePaths) override;
|
|
||||||
bool canRenameFile(const QString &filePath, const QString &newFilePath) override;
|
|
||||||
bool renameFile(const QString &filePath, const QString &newFilePath) override;
|
|
||||||
AddNewInformation addNewInformation(const QStringList &files, Node *context) const override;
|
|
||||||
|
|
||||||
bool setProVariable(const QString &var, const QStringList &values,
|
bool setProVariable(const QString &var, const QStringList &values,
|
||||||
const QString &scope = QString(),
|
const QString &scope = QString(),
|
||||||
@@ -143,8 +139,8 @@ public:
|
|||||||
|
|
||||||
bool folderChanged(const QString &changedFolder, const QSet<Utils::FileName> &newFiles);
|
bool folderChanged(const QString &changedFolder, const QSet<Utils::FileName> &newFiles);
|
||||||
|
|
||||||
bool deploysFolder(const QString &folder) const override;
|
virtual bool deploysFolder(const QString &folder) const;
|
||||||
QList<ProjectExplorer::RunConfiguration *> runConfigurations() const override;
|
virtual QList<ProjectExplorer::RunConfiguration *> runConfigurations() const;
|
||||||
|
|
||||||
QmakeProFile *proFile() const;
|
QmakeProFile *proFile() const;
|
||||||
QList<QmakePriFile*> subPriFilesExact() const;
|
QList<QmakePriFile*> subPriFilesExact() const;
|
||||||
@@ -273,8 +269,7 @@ public:
|
|||||||
~QmakeProFile() override;
|
~QmakeProFile() override;
|
||||||
|
|
||||||
bool isParent(QmakeProFile *node);
|
bool isParent(QmakeProFile *node);
|
||||||
|
QString displayName() const;
|
||||||
AddNewInformation addNewInformation(const QStringList &files, Node *context) const override;
|
|
||||||
|
|
||||||
ProjectType projectType() const;
|
ProjectType projectType() const;
|
||||||
|
|
||||||
@@ -348,6 +343,7 @@ private:
|
|||||||
bool m_validParse = false;
|
bool m_validParse = false;
|
||||||
bool m_parseInProgress = false;
|
bool m_parseInProgress = false;
|
||||||
|
|
||||||
|
QString m_displayName;
|
||||||
ProjectType m_projectType = ProjectType::Invalid;
|
ProjectType m_projectType = ProjectType::Invalid;
|
||||||
VariablesHash m_varValues;
|
VariablesHash m_varValues;
|
||||||
QList<ProjectExplorer::ExtraCompiler *> m_extraCompilers;
|
QList<ProjectExplorer::ExtraCompiler *> m_extraCompilers;
|
||||||
|
|||||||
Reference in New Issue
Block a user