From 06fd91634848c499a9628b6c91f5f03f817bde8d Mon Sep 17 00:00:00 2001 From: Eike Ziller Date: Mon, 17 May 2021 13:45:01 +0200 Subject: [PATCH] Do not show pane if external tool output is ignored Fixes: QTCREATORBUG-25728 Change-Id: I85650abb0227bdabe014ba324c1b3a3f35de4916 Reviewed-by: Alessandro Portale --- src/plugins/coreplugin/externaltool.cpp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/plugins/coreplugin/externaltool.cpp b/src/plugins/coreplugin/externaltool.cpp index 5e167bc2d06..6170334a216 100644 --- a/src/plugins/coreplugin/externaltool.cpp +++ b/src/plugins/coreplugin/externaltool.cpp @@ -666,7 +666,10 @@ void ExternalToolRunner::run() const CommandLine cmd{m_resolvedExecutable, m_resolvedArguments, CommandLine::Raw}; m_process->setCommand(cmd); m_process->setEnvironment(m_resolvedEnvironment); - MessageManager::writeDisrupting(tr("Starting external tool \"%1\"").arg(cmd.toUserOutput())); + const auto write = m_tool->outputHandling() == ExternalTool::ShowInPane + ? [](const QString &m) { MessageManager::writeDisrupting(m); } + : [](const QString &m) { MessageManager::writeSilently(m); }; + write(tr("Starting external tool \"%1\"").arg(cmd.toUserOutput())); m_process->start(); } @@ -686,7 +689,10 @@ void ExternalToolRunner::finished(int exitCode, QProcess::ExitStatus status) } if (m_tool->modifiesCurrentDocument()) DocumentManager::unexpectFileChange(m_expectedFileName); - MessageManager::writeFlashing(tr("\"%1\" finished").arg(m_resolvedExecutable.toUserOutput())); + const auto write = m_tool->outputHandling() == ExternalTool::ShowInPane + ? [](const QString &m) { MessageManager::writeFlashing(m); } + : [](const QString &m) { MessageManager::writeSilently(m); }; + write(tr("\"%1\" finished").arg(m_resolvedExecutable.toUserOutput())); deleteLater(); }