ProjectExplorer: Introduce BuildSystem::parsingStarted/Finished

Some listeners are only interested in a particular build system
instance, not all of one target.

Change-Id: Id89bd96c1f7f68bac13886bdc31cb899978d76ac
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
This commit is contained in:
hjk
2020-02-12 14:09:35 +01:00
parent e46df080ee
commit 3c436d0e42
3 changed files with 8 additions and 4 deletions

View File

@@ -101,6 +101,7 @@ void BuildSystem::emitParsingStarted()
d->m_isParsing = true; d->m_isParsing = true;
d->m_hasParsingData = false; d->m_hasParsingData = false;
emit parsingStarted();
emit d->m_target->parsingStarted(); emit d->m_target->parsingStarted();
} }
@@ -112,6 +113,7 @@ void BuildSystem::emitParsingFinished(bool success)
d->m_isParsing = false; d->m_isParsing = false;
d->m_hasParsingData = success; d->m_hasParsingData = success;
emit parsingFinished(success);
emit d->m_target->parsingFinished(success); emit d->m_target->parsingFinished(success);
} }

View File

@@ -125,6 +125,8 @@ public:
virtual void triggerParsing() = 0; virtual void triggerParsing() = 0;
signals: signals:
void parsingStarted();
void parsingFinished(bool success);
void deploymentDataChanged(); void deploymentDataChanged();
void applicationTargetsChanged(); void applicationTargetsChanged();

View File

@@ -1085,8 +1085,8 @@ void ProjectExplorerPlugin::testProject_parsingSuccess()
{ {
TestProject project; TestProject project;
QSignalSpy startSpy(project.target, &Target::parsingStarted); QSignalSpy startSpy(project.target->buildSystem(), &BuildSystem::parsingStarted);
QSignalSpy stopSpy(project.target, &Target::parsingFinished); QSignalSpy stopSpy(project.target->buildSystem(), &BuildSystem::parsingFinished);
{ {
BuildSystem::ParseGuard guard = project.target->buildSystem()->guardParsingRun(); BuildSystem::ParseGuard guard = project.target->buildSystem()->guardParsingRun();
@@ -1111,8 +1111,8 @@ void ProjectExplorerPlugin::testProject_parsingFail()
{ {
TestProject project; TestProject project;
QSignalSpy startSpy(project.target, &Target::parsingStarted); QSignalSpy startSpy(project.target->buildSystem(), &BuildSystem::parsingStarted);
QSignalSpy stopSpy(project.target, &Target::parsingFinished); QSignalSpy stopSpy(project.target->buildSystem(), &BuildSystem::parsingFinished);
{ {
BuildSystem::ParseGuard guard = project.target->buildSystem()->guardParsingRun(); BuildSystem::ParseGuard guard = project.target->buildSystem()->guardParsingRun();