From d3be54bcd1c7f77f6714c3161077fabf1da1ded1 Mon Sep 17 00:00:00 2001 From: Christian Kandeler Date: Wed, 22 Apr 2020 10:46:09 +0200 Subject: [PATCH] QtSupport: Add QtTestParser to the list of output formatters ... when creating a run control for a Qt project. Now tasks will appear in the issues pane for QtTest application output in the app output pane. Task-number: QTCREATORBUG-22665 Change-Id: I2674f3d4f9aabc0a4db4178dcd5495b822f14022 Reviewed-by: hjk --- src/plugins/projectexplorer/runcontrol.cpp | 9 +++------ src/plugins/projectexplorer/runcontrol.h | 5 +++-- src/plugins/python/pythonrunconfiguration.cpp | 6 +++--- src/plugins/qtsupport/qtoutputformatter.cpp | 8 +++++--- 4 files changed, 14 insertions(+), 14 deletions(-) diff --git a/src/plugins/projectexplorer/runcontrol.cpp b/src/plugins/projectexplorer/runcontrol.cpp index 39ec9a72591..2c07d016db7 100644 --- a/src/plugins/projectexplorer/runcontrol.cpp +++ b/src/plugins/projectexplorer/runcontrol.cpp @@ -1604,15 +1604,12 @@ OutputFormatterFactory::~OutputFormatterFactory() QList OutputFormatterFactory::createFormatters(Target *target) { QList formatters; - for (auto factory : qAsConst(g_outputFormatterFactories)) { - if (auto formatter = factory->m_creator(target)) - formatters << formatter; - } + for (auto factory : qAsConst(g_outputFormatterFactories)) + formatters << factory->m_creator(target); return formatters; } -void OutputFormatterFactory::setFormatterCreator - (const std::function &creator) +void OutputFormatterFactory::setFormatterCreator(const FormatterCreator &creator) { m_creator = creator; } diff --git a/src/plugins/projectexplorer/runcontrol.h b/src/plugins/projectexplorer/runcontrol.h index cd537c34668..242f3b3b153 100644 --- a/src/plugins/projectexplorer/runcontrol.h +++ b/src/plugins/projectexplorer/runcontrol.h @@ -312,10 +312,11 @@ public: static QList createFormatters(Target *target); protected: - void setFormatterCreator(const std::function &creator); + using FormatterCreator = std::function(Target *)>; + void setFormatterCreator(const FormatterCreator &creator); private: - std::function m_creator; + FormatterCreator m_creator; }; } // namespace ProjectExplorer diff --git a/src/plugins/python/pythonrunconfiguration.cpp b/src/plugins/python/pythonrunconfiguration.cpp index 42dad98cb10..30b3a188014 100644 --- a/src/plugins/python/pythonrunconfiguration.cpp +++ b/src/plugins/python/pythonrunconfiguration.cpp @@ -331,10 +331,10 @@ PythonRunConfigurationFactory::PythonRunConfigurationFactory() PythonOutputFormatterFactory::PythonOutputFormatterFactory() { - setFormatterCreator([](Target *t) -> OutputLineParser * { + setFormatterCreator([](Target *t) -> QList { if (t && t->project()->mimeType() == Constants::C_PY_MIMETYPE) - return new PythonOutputLineParser; - return nullptr; + return {new PythonOutputLineParser}; + return {}; }); } diff --git a/src/plugins/qtsupport/qtoutputformatter.cpp b/src/plugins/qtsupport/qtoutputformatter.cpp index 9c1803bf3d6..62cee367969 100644 --- a/src/plugins/qtsupport/qtoutputformatter.cpp +++ b/src/plugins/qtsupport/qtoutputformatter.cpp @@ -27,6 +27,7 @@ #include "qtkitinformation.h" #include "qtsupportconstants.h" +#include "qttestparser.h" #include #include @@ -242,9 +243,10 @@ void QtOutputLineParser::updateProjectFileList() QtOutputFormatterFactory::QtOutputFormatterFactory() { - setFormatterCreator([](Target *t) -> OutputLineParser * { - BaseQtVersion *qt = QtKitAspect::qtVersion(t ? t->kit() : nullptr); - return qt ? new QtOutputLineParser(t) : nullptr; + setFormatterCreator([](Target *t) -> QList { + if (QtKitAspect::qtVersion(t ? t->kit() : nullptr)) + return {new QtTestParser, new QtOutputLineParser(t)}; + return {}; }); }