aboutsummaryrefslogtreecommitdiffstats
path: root/src/libs/utils/outputformatter.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/libs/utils/outputformatter.cpp')
-rw-r--r--src/libs/utils/outputformatter.cpp22
1 files changed, 14 insertions, 8 deletions
diff --git a/src/libs/utils/outputformatter.cpp b/src/libs/utils/outputformatter.cpp
index 31ed810012..355fcb24ab 100644
--- a/src/libs/utils/outputformatter.cpp
+++ b/src/libs/utils/outputformatter.cpp
@@ -489,20 +489,26 @@ void OutputFormatter::dumpIncompleteLine(const QString &line, OutputFormat forma
d->incompleteLine.second = format;
}
+bool OutputFormatter::handleFileLink(const QString &href)
+{
+ if (!OutputLineParser::isLinkTarget(href))
+ return false;
+ FilePath filePath;
+ int line;
+ int column;
+ OutputLineParser::parseLinkTarget(href, filePath, line, column);
+ QTC_ASSERT(!filePath.isEmpty(), return false);
+ emit openInEditorRequested(filePath, line, column);
+ return true;
+}
+
void OutputFormatter::handleLink(const QString &href)
{
QTC_ASSERT(!href.isEmpty(), return);
// We can handle absolute file paths ourselves. Other types of references are forwarded
// to the line parsers.
- if (OutputLineParser::isLinkTarget(href)) {
- FilePath filePath;
- int line;
- int column;
- OutputLineParser::parseLinkTarget(href, filePath, line, column);
- QTC_ASSERT(!filePath.isEmpty(), return);
- emit openInEditorRequested(filePath, line, column);
+ if (handleFileLink(href))
return;
- }
for (OutputLineParser * const f : qAsConst(d->lineParsers)) {
if (f->handleLink(href))
return;