ClangTools: Do not spam the warning pane with long messages

The user does not usually need the whole command line.

Task-number: QTCREATORBUG-20707
Change-Id: I30cd395cd85eb0a3dd19b9d5f1b34a1c7a4b95a5
Reviewed-by: Marco Bubke <marco.bubke@qt.io>
This commit is contained in:
Ivan Donchevskii
2018-08-17 15:35:13 +02:00
parent 7ab07a4e8f
commit 81d5d99db8
2 changed files with 11 additions and 8 deletions

View File

@@ -411,17 +411,20 @@ void ClangToolRunControl::onRunnerFinishedWithFailure(const QString &errorMessag
qCDebug(LOG).noquote() << "onRunnerFinishedWithFailure:"
<< errorMessage << '\n' << errorDetails;
auto *toolRunner = qobject_cast<ClangToolRunner *>(sender());
const QString filePath = toolRunner->filePath();
const QString logFilePath = toolRunner->logFilePath();
// Even in the error case the log file was created, so clean it up here, too.
QFile::remove(qobject_cast<ClangToolRunner *>(sender())->logFilePath());
QFile::remove(logFilePath);
const QString message = tr("Failed to analyze \"%1\": %2").arg(filePath, errorMessage);
++m_filesNotAnalyzed;
m_success = false;
const QString filePath = qobject_cast<ClangToolRunner *>(sender())->filePath();
appendMessage(tr("Failed to analyze \"%1\": %2").arg(filePath, errorMessage),
Utils::StdErrFormat);
appendMessage(message, Utils::StdErrFormat);
appendMessage(errorDetails, Utils::StdErrFormat);
TaskHub::addTask(Task::Warning, errorMessage, Debugger::Constants::ANALYZERTASK_ID);
TaskHub::addTask(Task::Warning, errorDetails, Debugger::Constants::ANALYZERTASK_ID);
TaskHub::addTask(Task::Warning, message, Debugger::Constants::ANALYZERTASK_ID);
handleFinished();
}

View File

@@ -263,7 +263,7 @@ static QVariant iconData(const QString &type)
{
if (type == "warning")
return Utils::Icons::CODEMODEL_WARNING.icon();
if (type == "error")
if (type == "error" || type == "fatal")
return Utils::Icons::CODEMODEL_ERROR.icon();
if (type == "note")
return Utils::Icons::BOOKMARK.icon();