From 3c436d0e427f5fc4615fb516a13fcc42ceadfdff Mon Sep 17 00:00:00 2001 From: hjk Date: Wed, 12 Feb 2020 14:09:35 +0100 Subject: [PATCH] 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 --- src/plugins/projectexplorer/buildsystem.cpp | 2 ++ src/plugins/projectexplorer/buildsystem.h | 2 ++ src/plugins/projectexplorer/project.cpp | 8 ++++---- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/src/plugins/projectexplorer/buildsystem.cpp b/src/plugins/projectexplorer/buildsystem.cpp index 9e5205b94de..f360ea6648b 100644 --- a/src/plugins/projectexplorer/buildsystem.cpp +++ b/src/plugins/projectexplorer/buildsystem.cpp @@ -101,6 +101,7 @@ void BuildSystem::emitParsingStarted() d->m_isParsing = true; d->m_hasParsingData = false; + emit parsingStarted(); emit d->m_target->parsingStarted(); } @@ -112,6 +113,7 @@ void BuildSystem::emitParsingFinished(bool success) d->m_isParsing = false; d->m_hasParsingData = success; + emit parsingFinished(success); emit d->m_target->parsingFinished(success); } diff --git a/src/plugins/projectexplorer/buildsystem.h b/src/plugins/projectexplorer/buildsystem.h index b3a142c15a9..551f83ac00e 100644 --- a/src/plugins/projectexplorer/buildsystem.h +++ b/src/plugins/projectexplorer/buildsystem.h @@ -125,6 +125,8 @@ public: virtual void triggerParsing() = 0; signals: + void parsingStarted(); + void parsingFinished(bool success); void deploymentDataChanged(); void applicationTargetsChanged(); diff --git a/src/plugins/projectexplorer/project.cpp b/src/plugins/projectexplorer/project.cpp index c9b6ef0463b..af07fa7e5d6 100644 --- a/src/plugins/projectexplorer/project.cpp +++ b/src/plugins/projectexplorer/project.cpp @@ -1085,8 +1085,8 @@ void ProjectExplorerPlugin::testProject_parsingSuccess() { TestProject project; - QSignalSpy startSpy(project.target, &Target::parsingStarted); - QSignalSpy stopSpy(project.target, &Target::parsingFinished); + QSignalSpy startSpy(project.target->buildSystem(), &BuildSystem::parsingStarted); + QSignalSpy stopSpy(project.target->buildSystem(), &BuildSystem::parsingFinished); { BuildSystem::ParseGuard guard = project.target->buildSystem()->guardParsingRun(); @@ -1111,8 +1111,8 @@ void ProjectExplorerPlugin::testProject_parsingFail() { TestProject project; - QSignalSpy startSpy(project.target, &Target::parsingStarted); - QSignalSpy stopSpy(project.target, &Target::parsingFinished); + QSignalSpy startSpy(project.target->buildSystem(), &BuildSystem::parsingStarted); + QSignalSpy stopSpy(project.target->buildSystem(), &BuildSystem::parsingFinished); { BuildSystem::ParseGuard guard = project.target->buildSystem()->guardParsingRun();