aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristian Kandeler <[email protected]>2025-07-15 15:13:53 +0200
committerChristian Kandeler <[email protected]>2025-07-15 15:43:20 +0000
commit245b6ae6075e5cd2b08238a91872b69f8867fb4d (patch)
tree24ffbeb9b925e8464839a51f8ed1031d85609ca7
parent0852d3384dece1e7c6593be04f0e1666522ee246 (diff)
QmakeProjectManager: Prefer issues pane to general messagesHEADmaster
-rw-r--r--src/plugins/qmakeprojectmanager/qmakeproject.cpp12
-rw-r--r--src/plugins/qmakeprojectmanager/qmakeproject.h2
2 files changed, 12 insertions, 2 deletions
diff --git a/src/plugins/qmakeprojectmanager/qmakeproject.cpp b/src/plugins/qmakeprojectmanager/qmakeproject.cpp
index 59b7be3fa02..a5a3701b439 100644
--- a/src/plugins/qmakeprojectmanager/qmakeproject.cpp
+++ b/src/plugins/qmakeprojectmanager/qmakeproject.cpp
@@ -1511,9 +1511,17 @@ QList<QPair<Id, QString>> QmakeBuildSystem::generators() const
void QmakeBuildSystem::runGenerator(Utils::Id id)
{
+ if (!m_generatorError.isNull()) {
+ TaskHub::removeTask(m_generatorError);
+ m_generatorError.clear();
+ }
+
QTC_ASSERT(buildConfiguration(), return);
- const auto showError = [](const QString &detail) {
- Core::MessageManager::writeDisrupting(Tr::tr("qmake generator failed: %1.").arg(detail));
+ const auto showError = [this](const QString &detail) {
+ m_generatorError
+ = OtherTask(Task::Error, Tr::tr("qmake generator failed.").append('\n').append(detail));
+ TaskHub::addTask(m_generatorError);
+ TaskHub::requestPopup();
};
const QtVersion * const qtVersion = QtKitAspect::qtVersion(kit());
if (!qtVersion) {
diff --git a/src/plugins/qmakeprojectmanager/qmakeproject.h b/src/plugins/qmakeprojectmanager/qmakeproject.h
index 880b6c89de4..9ebc0ccc2a0 100644
--- a/src/plugins/qmakeprojectmanager/qmakeproject.h
+++ b/src/plugins/qmakeprojectmanager/qmakeproject.h
@@ -11,6 +11,7 @@
#include <projectexplorer/deploymentdata.h>
#include <projectexplorer/project.h>
#include <projectexplorer/toolchain.h>
+#include <projectexplorer/task.h>
#include <QStringList>
#include <QFutureInterface>
@@ -199,6 +200,7 @@ private:
Internal::CentralizedFolderWatcher *m_centralizedFolderWatcher = nullptr;
ProjectExplorer::BuildSystem::ParseGuard m_guard;
+ ProjectExplorer::Task m_generatorError;
bool m_firstParseNeeded = true;
};