Project: Move signalling of parsing state into Project

Get rid of duplicated code to do such signaling in derived Project types.

Change-Id: I26914a1d751d72ee65c15a7943e0e7f34978f042
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
This commit is contained in:
Tobias Hunger
2017-07-13 10:51:15 +02:00
parent 05bcba3e73
commit 09b127f9f1
22 changed files with 105 additions and 40 deletions

View File

@@ -136,6 +136,8 @@ public:
~ProjectPrivate();
Core::Id m_id;
bool m_isParsing = false;
bool m_hasParsingData = false;
std::unique_ptr<Core::IDocument> m_document;
ProjectNode *m_rootProjectNode = nullptr;
std::unique_ptr<ContainerNode> m_containerNode;
@@ -464,6 +466,24 @@ bool Project::setupTarget(Target *t)
return true;
}
void Project::emitParsingStarted()
{
QTC_ASSERT(!d->m_isParsing, return);
d->m_isParsing = true;
d->m_hasParsingData = false;
emit parsingStarted();
}
void Project::emitParsingFinished(bool success)
{
QTC_ASSERT(d->m_isParsing, return);
d->m_isParsing = false;
d->m_hasParsingData = success;
emit parsingFinished(success);
}
void Project::setDisplayName(const QString &name)
{
if (name == d->m_displayName)
@@ -813,6 +833,16 @@ Utils::MacroExpander *Project::macroExpander() const
return &d->m_macroExpander;
}
bool Project::isParsing() const
{
return d->m_isParsing;
}
bool Project::hasParsingData() const
{
return d->m_hasParsingData;
}
ProjectImporter *Project::projectImporter() const
{
return nullptr;