forked from qt-creator/qt-creator
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:
@@ -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)
|
||||
{
|
||||
|
@@ -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);
|
||||
|
Reference in New Issue
Block a user