aboutsummaryrefslogtreecommitdiffstats
path: root/src/libs/utils/outputformatter.cpp
diff options
context:
space:
mode:
authorChristian Kandeler <christian.kandeler@qt.io>2020-03-30 15:49:15 +0200
committerChristian Kandeler <christian.kandeler@qt.io>2020-03-30 13:56:38 +0000
commit4e199eed8d0bbe175babec209e0435ef60e82022 (patch)
treed63bf2d8531fd912bea90af89ed40bb48c48fe3a /src/libs/utils/outputformatter.cpp
parentd3cf1549ee3050149427c8aff8d8e86190da4952 (diff)
OutputFormatter: Re-add handling of stand-alone carriage return
Amends 054e7c2164. Change-Id: If8ee94c3377ff71c8b5d87d431d8b6a2c87bb6f6 Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Diffstat (limited to 'src/libs/utils/outputformatter.cpp')
-rw-r--r--src/libs/utils/outputformatter.cpp12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/libs/utils/outputformatter.cpp b/src/libs/utils/outputformatter.cpp
index a1a98a1fbe..87680cb0fd 100644
--- a/src/libs/utils/outputformatter.cpp
+++ b/src/libs/utils/outputformatter.cpp
@@ -108,8 +108,16 @@ QList<FormattedText> OutputFormatter::parseAnsi(const QString &text, const QText
void OutputFormatter::append(const QString &text, const QTextCharFormat &format)
{
- if (!text.isEmpty())
- d->cursor.insertText(text, format);
+ int startPos = 0;
+ int crPos = -1;
+ while ((crPos = text.indexOf('\r', startPos)) >= 0) {
+ d->cursor.insertText(text.mid(startPos, crPos - startPos), format);
+ d->cursor.clearSelection();
+ d->cursor.movePosition(QTextCursor::StartOfBlock, QTextCursor::KeepAnchor);
+ startPos = crPos + 1;
+ }
+ if (startPos < text.count())
+ d->cursor.insertText(text.mid(startPos), format);
}
QTextCursor &OutputFormatter::cursor() const