aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristian Kandeler <christian.kandeler@qt.io>2020-09-03 14:23:31 +0200
committerChristian Kandeler <christian.kandeler@qt.io>2020-09-04 08:50:13 +0000
commit215b28466682ae3d0f1a2ef26d7972ac8b63d7ab (patch)
treede0dd390cd2e68b1f0065feaaf14a97aed0e1612
parentf6e013c80e97626ed12bed9124da16f92f853d84 (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.cpp9
-rw-r--r--src/plugins/projectexplorer/runcontrol.cpp9
-rw-r--r--src/plugins/projectexplorer/runcontrol.h3
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;