From 31d6c3cd05b9d0ec1014b7aa78ff4a658247c4ea Mon Sep 17 00:00:00 2001 From: hjk Date: Thu, 2 Feb 2017 11:06:50 +0100 Subject: [PATCH] QMakeProject: Clean up qmakenodes.h Remove unneeded things, move one-time uses to .cpp. Change-Id: I9836a78ff697c965295d58be67530ce08c04e9d8 Reviewed-by: Oswald Buddenhagen Reviewed-by: Tim Jenssen --- .../qmakeprojectmanager/qmakenodes.cpp | 156 +++++++++--------- src/plugins/qmakeprojectmanager/qmakenodes.h | 67 +------- 2 files changed, 85 insertions(+), 138 deletions(-) diff --git a/src/plugins/qmakeprojectmanager/qmakenodes.cpp b/src/plugins/qmakeprojectmanager/qmakenodes.cpp index 0b44896e88c..83e7db373bd 100644 --- a/src/plugins/qmakeprojectmanager/qmakenodes.cpp +++ b/src/plugins/qmakeprojectmanager/qmakenodes.cpp @@ -229,80 +229,53 @@ public: QStringList errors; }; -QString ProVirtualFolderNode::displayName() const +class QmakePriFile : public Core::IDocument { - return m_typeName; -} +public: + QmakePriFile(QmakePriFileNode *qmakePriFile) + : IDocument(nullptr), m_priFile(qmakePriFile) + { + setId("Qmake.PriFile"); + setMimeType(QLatin1String(QmakeProjectManager::Constants::PROFILE_MIMETYPE)); + setFilePath(m_priFile->filePath()); + } -QString ProVirtualFolderNode::addFileFilter() const -{ - return m_addFileFilter; -} - -} // namespace Internal -} // namespace QMakeProjectManager - -QmakePriFile::QmakePriFile(QmakeProjectManager::QmakePriFileNode *qmakePriFile) - : IDocument(0), m_priFile(qmakePriFile) -{ - setId("Qmake.PriFile"); - setMimeType(QLatin1String(QmakeProjectManager::Constants::PROFILE_MIMETYPE)); - setFilePath(m_priFile->filePath()); -} - -Core::IDocument::ReloadBehavior QmakePriFile::reloadBehavior(ChangeTrigger state, ChangeType type) const -{ - Q_UNUSED(state) - Q_UNUSED(type) - return BehaviorSilent; -} - -bool QmakePriFile::reload(QString *errorString, ReloadFlag flag, ChangeType type) -{ - Q_UNUSED(errorString) - Q_UNUSED(flag) - if (type == TypePermissions) + ReloadBehavior reloadBehavior(ChangeTrigger state, ChangeType type) const override + { + Q_UNUSED(state) + Q_UNUSED(type) + return BehaviorSilent; + } + bool reload(QString *errorString, ReloadFlag flag, ChangeType type) override + { + Q_UNUSED(errorString) + Q_UNUSED(flag) + if (type == TypePermissions) + return true; + m_priFile->scheduleUpdate(); return true; - m_priFile->scheduleUpdate(); - return true; -} + } -/*! - \class QmakePriFileNode - Implements abstract ProjectNode class - */ +private: + QmakePriFileNode *m_priFile; +}; -namespace QmakeProjectManager { - -QmakePriFileNode::QmakePriFileNode(QmakeProject *project, QmakeProFileNode *qmakeProFileNode, - const FileName &filePath) - : ProjectNode(filePath), - m_project(project), - m_qmakeProFileNode(qmakeProFileNode), - m_projectFilePath(filePath), - m_projectDir(filePath.toFileInfo().absolutePath()) +class ProVirtualFolderNode : public VirtualFolderNode { - Q_ASSERT(project); - m_qmakePriFile = new QmakePriFile(this); - Core::DocumentManager::addDocument(m_qmakePriFile); +public: + ProVirtualFolderNode(const Utils::FileName &folderPath, int priority, const QString &typeName); - setDisplayName(filePath.toFileInfo().completeBaseName()); - setIcon(qmakeNodeStaticData()->projectIcon); -} + QString displayName() const final { return m_typeName; } + QString addFileFilter() const final { return m_addFileFilter; } + QString tooltip() const final { return QString(); } -QmakePriFileNode::~QmakePriFileNode() -{ - watchFolders(QSet()); - delete m_qmakePriFile; -} + void setAddFileFilter(const QString &filter) { m_addFileFilter = filter; } -void QmakePriFileNode::scheduleUpdate() -{ - QtSupport::ProFileCacheManager::instance()->discardFile(m_projectFilePath.toString()); - m_qmakeProFileNode->scheduleUpdate(QmakeProFileNode::ParseLater); -} +private: + QString m_typeName; + QString m_addFileFilter; +}; -namespace Internal { struct InternalNode { QList virtualfolders; @@ -466,8 +439,46 @@ struct InternalNode } } }; + +ProVirtualFolderNode::ProVirtualFolderNode(const FileName &folderPath, int priority, const QString &typeName) + : VirtualFolderNode(folderPath, priority), m_typeName(typeName) +{ } + } // Internal +/*! + \class QmakePriFileNode + Implements abstract ProjectNode class + */ + +QmakePriFileNode::QmakePriFileNode(QmakeProject *project, QmakeProFileNode *qmakeProFileNode, + const FileName &filePath) + : ProjectNode(filePath), + m_project(project), + m_qmakeProFileNode(qmakeProFileNode), + m_projectFilePath(filePath), + m_projectDir(filePath.toFileInfo().absolutePath()) +{ + Q_ASSERT(project); + m_qmakePriFile = new QmakePriFile(this); + Core::DocumentManager::addDocument(m_qmakePriFile); + + setDisplayName(filePath.toFileInfo().completeBaseName()); + setIcon(qmakeNodeStaticData()->projectIcon); +} + +QmakePriFileNode::~QmakePriFileNode() +{ + watchFolders(QSet()); + delete m_qmakePriFile; +} + +void QmakePriFileNode::scheduleUpdate() +{ + QtSupport::ProFileCacheManager::instance()->discardFile(m_projectFilePath.toString()); + m_qmakeProFileNode->scheduleUpdate(QmakeProFileNode::ParseLater); +} + QStringList QmakePriFileNode::baseVPaths(QtSupport::ProFileReader *reader, const QString &projectDir, const QString &buildDir) { QStringList result; @@ -506,7 +517,7 @@ QSet QmakePriFileNode::recursiveEnumerate(const QString &folder) return result; } -QStringList QmakeProFileNode::fileListForVar( +static QStringList fileListForVar( const QHash > &sourceFiles, const QString &varName) { @@ -1561,24 +1572,17 @@ void QmakeProFileNode::setParseInProgress(bool b) emit m_project->proFileUpdated(this, m_validParse, m_parseInProgress); } +// Do note the absence of signal emission, always set validParse +// before setParseInProgress, as that will emit the signals void QmakeProFileNode::setValidParseRecursive(bool b) { - setValidParse(b); + m_validParse = b; foreach (ProjectNode *subNode, projectNodes()) { if (QmakeProFileNode *node = dynamic_cast(subNode)) node->setValidParseRecursive(b); } } -// Do note the absence of signal emission, always set validParse -// before setParseInProgress, as that will emit the signals -void QmakeProFileNode::setValidParse(bool b) -{ - if (m_validParse == b) - return; - m_validParse = b; -} - bool QmakeProFileNode::validParse() const { return m_validParse; @@ -1635,7 +1639,7 @@ void QmakeProFileNode::setupReader() m_readerCumulative->setCumulative(true); } -bool QmakeProFileNode::evaluateOne( +static bool evaluateOne( const EvalInput &input, ProFile *pro, QtSupport::ProFileReader *reader, bool cumulative, QtSupport::ProFileReader **buildPassReader) { diff --git a/src/plugins/qmakeprojectmanager/qmakenodes.h b/src/plugins/qmakeprojectmanager/qmakenodes.h index 34b89b7e87f..a031cb9232e 100644 --- a/src/plugins/qmakeprojectmanager/qmakenodes.h +++ b/src/plugins/qmakeprojectmanager/qmakenodes.h @@ -35,23 +35,14 @@ #include #include -#include #include #include namespace Utils { class FileName; } -namespace Core { class ICore; } +namespace QtSupport { class ProFileReader; } -namespace QtSupport { -class BaseQtVersion; -class ProFileReader; -} - -namespace ProjectExplorer { -class RunConfiguration; -class Project; -} +namespace ProjectExplorer { class RunConfiguration; } namespace QmakeProjectManager { class QmakeBuildConfiguration; @@ -126,7 +117,6 @@ public: void update(const Internal::PriFileEvalResult &result); - // ProjectNode interface QList supportedActions(Node *node) const override; @@ -229,47 +219,6 @@ private: friend struct Internal::InternalNode; }; -namespace Internal { -class QmakePriFile : public Core::IDocument -{ -public: - QmakePriFile(QmakePriFileNode *qmakePriFile); - - ReloadBehavior reloadBehavior(ChangeTrigger state, ChangeType type) const override; - bool reload(QString *errorString, ReloadFlag flag, ChangeType type) override; - -private: - QmakePriFileNode *m_priFile; -}; - -class ProVirtualFolderNode : public ProjectExplorer::VirtualFolderNode -{ -public: - explicit ProVirtualFolderNode(const Utils::FileName &folderPath, int priority, const QString &typeName) - : VirtualFolderNode(folderPath, priority), m_typeName(typeName) - { } - - QString displayName() const override; - - QString addFileFilter() const override; - - void setAddFileFilter(const QString &filter) - { - m_addFileFilter = filter; - } - - QString tooltip() const override - { - return QString(); - } - -private: - QString m_typeName; - QString m_addFileFilter; -}; - -} // namespace Internal - class QMAKEPROJECTMANAGER_EXPORT TargetInformation { public: @@ -360,22 +309,19 @@ public: bool isDebugAndRelease() const; bool isQtcRunnable() const; - void setParseInProgress(bool b); void setParseInProgressRecursive(bool b); - void setValidParse(bool b); - void setValidParseRecursive(bool b); void asyncUpdate(); private: + void setParseInProgress(bool b); + void setValidParseRecursive(bool b); + void applyAsyncEvaluate(); void setupReader(); Internal::EvalInput evalInput() const; - static bool evaluateOne( - const Internal::EvalInput &input, ProFile *pro, QtSupport::ProFileReader *reader, - bool cumulative, QtSupport::ProFileReader **buildPassReader); static Internal::EvalResult *evaluate(const Internal::EvalInput &input); void applyEvaluate(Internal::EvalResult *parseResult); @@ -386,9 +332,6 @@ private: void updateGeneratedFiles(const QString &buildDir); - static QStringList fileListForVar( - const QHash > &sourceFiles, - const QString &varName); static QString uiDirPath(QtSupport::ProFileReader *reader, const QString &buildDir); static QString mocDirPath(QtSupport::ProFileReader *reader, const QString &buildDir); static QString sysrootify(const QString &path, const QString &sysroot, const QString &baseDir, const QString &outputDir);