QMakeProject: Clean up qmakenodes.h

Remove unneeded things, move one-time uses to .cpp.

Change-Id: I9836a78ff697c965295d58be67530ce08c04e9d8
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
This commit is contained in:
hjk
2017-02-02 11:06:50 +01:00
parent b1792007c7
commit 31d6c3cd05
2 changed files with 85 additions and 138 deletions

View File

@@ -229,35 +229,24 @@ public:
QStringList errors;
};
QString ProVirtualFolderNode::displayName() const
class QmakePriFile : public Core::IDocument
{
return m_typeName;
}
QString ProVirtualFolderNode::addFileFilter() const
{
return m_addFileFilter;
}
} // namespace Internal
} // namespace QMakeProjectManager
QmakePriFile::QmakePriFile(QmakeProjectManager::QmakePriFileNode *qmakePriFile)
: IDocument(0), m_priFile(qmakePriFile)
public:
QmakePriFile(QmakePriFileNode *qmakePriFile)
: IDocument(nullptr), 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
ReloadBehavior reloadBehavior(ChangeTrigger state, ChangeType type) const override
{
Q_UNUSED(state)
Q_UNUSED(type)
return BehaviorSilent;
}
bool QmakePriFile::reload(QString *errorString, ReloadFlag flag, ChangeType type)
bool reload(QString *errorString, ReloadFlag flag, ChangeType type) override
{
Q_UNUSED(errorString)
Q_UNUSED(flag)
@@ -267,42 +256,26 @@ bool QmakePriFile::reload(QString *errorString, ReloadFlag flag, ChangeType type
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<QString>());
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<InternalNode *> 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<QString>());
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<FileName> QmakePriFileNode::recursiveEnumerate(const QString &folder)
return result;
}
QStringList QmakeProFileNode::fileListForVar(
static QStringList fileListForVar(
const QHash<QString, QVector<ProFileEvaluator::SourceFile> > &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<QmakeProFileNode *>(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)
{

View File

@@ -35,23 +35,14 @@
#include <QHash>
#include <QStringList>
#include <QDateTime>
#include <QMap>
#include <QFutureWatcher>
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<ProjectExplorer::ProjectAction> 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<QString, QVector<ProFileEvaluator::SourceFile> > &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);