diff options
author | Christian Kandeler <christian.kandeler@qt.io> | 2020-09-03 14:23:31 +0200 |
---|---|---|
committer | Christian Kandeler <christian.kandeler@qt.io> | 2020-09-04 08:50:13 +0000 |
commit | 215b28466682ae3d0f1a2ef26d7972ac8b63d7ab (patch) | |
tree | de0dd390cd2e68b1f0065feaaf14a97aed0e1612 | |
parent | f6e013c80e97626ed12bed9124da16f92f853d84 (diff) |
ProjectExplorer: Properly set up the output formatter
... for the app output window.
Fixes: QTCREATORBUG-24560
Change-Id: I199d7b16f445db498027094792c6cf344d920a88
Reviewed-by: André Hartmann <aha_1980@gmx.de>
-rw-r--r-- | src/plugins/projectexplorer/appoutputpane.cpp | 9 | ||||
-rw-r--r-- | src/plugins/projectexplorer/runcontrol.cpp | 9 | ||||
-rw-r--r-- | src/plugins/projectexplorer/runcontrol.h | 3 |
3 files changed, 15 insertions, 6 deletions
diff --git a/src/plugins/projectexplorer/appoutputpane.cpp b/src/plugins/projectexplorer/appoutputpane.cpp index 320cd5ac6e..63a9377df7 100644 --- a/src/plugins/projectexplorer/appoutputpane.cpp +++ b/src/plugins/projectexplorer/appoutputpane.cpp @@ -154,8 +154,10 @@ void TabWidget::slotContextMenuRequested(const QPoint &pos) AppOutputPane::RunControlTab::RunControlTab(RunControl *runControl, Core::OutputWindow *w) : runControl(runControl), window(w) { - if (runControl && w) - w->setLineParsers(runControl->createOutputParsers()); + if (runControl && w) { + w->reset(); + runControl->setupFormatter(w->outputFormatter()); + } } AppOutputPane::AppOutputPane() : @@ -405,7 +407,8 @@ void AppOutputPane::createNewOutputWindow(RunControl *rc) if (tab.runControl) tab.runControl->initiateFinish(); tab.runControl = rc; - tab.window->setLineParsers(rc->createOutputParsers()); + tab.window->reset(); + rc->setupFormatter(tab.window->outputFormatter()); handleOldOutput(tab.window); diff --git a/src/plugins/projectexplorer/runcontrol.cpp b/src/plugins/projectexplorer/runcontrol.cpp index a7d3a075fa..a5b45af2ef 100644 --- a/src/plugins/projectexplorer/runcontrol.cpp +++ b/src/plugins/projectexplorer/runcontrol.cpp @@ -41,6 +41,7 @@ #include <utils/algorithm.h> #include <utils/checkablemessagebox.h> #include <utils/detailswidget.h> +#include <utils/fileinprojectfinder.h> #include <utils/outputformatter.h> #include <utils/qtcassert.h> #include <utils/utilsicons.h> @@ -824,7 +825,7 @@ void RunControlPrivate::showError(const QString &msg) q->appendMessage(msg + '\n', ErrorMessageFormat); } -QList<Utils::OutputLineParser *> RunControl::createOutputParsers() const +void RunControl::setupFormatter(OutputFormatter *formatter) const { QList<Utils::OutputLineParser *> parsers = OutputFormatterFactory::createFormatters(target()); if (const auto customParsersAspect @@ -834,7 +835,11 @@ QList<Utils::OutputLineParser *> RunControl::createOutputParsers() const parsers << parser; } } - return parsers; + formatter->setLineParsers(parsers); + Utils::FileInProjectFinder fileFinder; + fileFinder.setProjectDirectory(project()->projectDirectory()); + fileFinder.setProjectFiles(project()->files(Project::AllFiles)); + formatter->setFileFinder(fileFinder); } Utils::Id RunControl::runMode() const diff --git a/src/plugins/projectexplorer/runcontrol.h b/src/plugins/projectexplorer/runcontrol.h index 6926ec4c58..b609815363 100644 --- a/src/plugins/projectexplorer/runcontrol.h +++ b/src/plugins/projectexplorer/runcontrol.h @@ -46,6 +46,7 @@ namespace Utils { class MacroExpander; class OutputLineParser; +class OutputFormatter; } // Utils namespace ProjectExplorer { @@ -238,7 +239,7 @@ public: Utils::FilePath targetFilePath() const; Utils::FilePath projectFilePath() const; - QList<Utils::OutputLineParser *> createOutputParsers() const; + void setupFormatter(Utils::OutputFormatter *formatter) const; Utils::Id runMode() const; const Runnable &runnable() const; |