From 04a23c38f0d751cd4b1757d775434e8c40eae006 Mon Sep 17 00:00:00 2001 From: Christian Kandeler Date: Mon, 13 Jun 2022 14:21:23 +0200 Subject: [PATCH] ProjectExplorer: Pop up task window on first error ... rather than only at the end of the build process. Fixes: QTCREATORBUG-27702 Change-Id: I114ef2898f26904e29d96b2cf65dcae4ee9a6121 Reviewed-by: Qt CI Bot Reviewed-by: Reviewed-by: hjk --- src/plugins/projectexplorer/buildmanager.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/plugins/projectexplorer/buildmanager.cpp b/src/plugins/projectexplorer/buildmanager.cpp index 7116792d77c..41e27da1f23 100644 --- a/src/plugins/projectexplorer/buildmanager.cpp +++ b/src/plugins/projectexplorer/buildmanager.cpp @@ -228,6 +228,7 @@ public: QStringList m_stepNames; int m_progress = 0; int m_maxProgress = 0; + bool m_poppedUpTaskWindow = false; bool m_running = false; bool m_isDeploying = false; // is set to true while canceling, so that nextBuildStep knows that the BuildStep finished because of canceling @@ -489,6 +490,10 @@ void BuildManager::updateTaskCount() { const int errors = getErrorTaskCount(); ProgressManager::setApplicationLabel(errors > 0 ? QString::number(errors) : QString()); + if (errors > 0 && !d->m_poppedUpTaskWindow) { + showTaskWindow(); + d->m_poppedUpTaskWindow = true; + } } void BuildManager::finish() @@ -516,6 +521,7 @@ void BuildManager::clearBuildQueue() d->m_buildQueue.clear(); d->m_enabledState.clear(); d->m_running = false; + d->m_poppedUpTaskWindow = false; d->m_isDeploying = false; d->m_previousBuildStepProject = nullptr; d->m_currentBuildStep = nullptr; @@ -752,6 +758,7 @@ void BuildManager::nextStep() d->m_currentBuildStep->run(); } else { d->m_running = false; + d->m_poppedUpTaskWindow = false; d->m_isDeploying = false; d->m_previousBuildStepProject = nullptr; d->m_progressFutureInterface->reportFinished();