aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/libs/utils/outputformatter.cpp5
-rw-r--r--src/libs/utils/outputformatter.h3
-rw-r--r--src/plugins/qtsupport/qtoutputformatter.cpp25
3 files changed, 16 insertions, 17 deletions
diff --git a/src/libs/utils/outputformatter.cpp b/src/libs/utils/outputformatter.cpp
index ad077755ca..5ed3d2f7d4 100644
--- a/src/libs/utils/outputformatter.cpp
+++ b/src/libs/utils/outputformatter.cpp
@@ -112,6 +112,11 @@ void OutputFormatter::append(const QString &text, const QTextCharFormat &format)
d->cursor.insertText(text.mid(startPos), format);
}
+QTextCursor &OutputFormatter::cursor() const
+{
+ return d->cursor;
+}
+
QTextCharFormat OutputFormatter::linkFormat(const QTextCharFormat &inputFormat, const QString &href)
{
QTextCharFormat result = inputFormat;
diff --git a/src/libs/utils/outputformatter.h b/src/libs/utils/outputformatter.h
index 5b7acb0337..eb38f709bc 100644
--- a/src/libs/utils/outputformatter.h
+++ b/src/libs/utils/outputformatter.h
@@ -52,7 +52,7 @@ public:
~OutputFormatter() override;
QPlainTextEdit *plainTextEdit() const;
- virtual void setPlainTextEdit(QPlainTextEdit *plainText);
+ void setPlainTextEdit(QPlainTextEdit *plainText);
void flush();
@@ -72,6 +72,7 @@ protected:
QTextCharFormat charFormat(OutputFormat format) const;
QList<FormattedText> parseAnsi(const QString &text, const QTextCharFormat &format);
void append(const QString &text, const QTextCharFormat &format);
+ QTextCursor &cursor() const;
private:
virtual void appendMessage(const QString &text, const QTextCharFormat &format);
diff --git a/src/plugins/qtsupport/qtoutputformatter.cpp b/src/plugins/qtsupport/qtoutputformatter.cpp
index 52517c5847..e0f71a8083 100644
--- a/src/plugins/qtsupport/qtoutputformatter.cpp
+++ b/src/plugins/qtsupport/qtoutputformatter.cpp
@@ -94,7 +94,6 @@ public:
void appendMessage(const QString &text, Utils::OutputFormat format) override;
void handleLink(const QString &href) override;
- void setPlainTextEdit(QPlainTextEdit *plainText) override;
protected:
void clearLastLine() override;
@@ -188,7 +187,7 @@ void QtOutputFormatter::appendMessagePart(const QString &txt, const QTextCharFor
LinkResult lr = matchLine(line);
if (!lr.href.isEmpty()) {
// Found something && line continuation
- d->cursor.insertText(deferredText, fmt);
+ cursor().insertText(deferredText, fmt);
deferredText.clear();
if (!d->lastLine.isEmpty())
clearLastLine();
@@ -207,20 +206,20 @@ void QtOutputFormatter::appendMessagePart(const QString &txt, const QTextCharFor
}
d->lastLine.clear(); // Handled line continuation
}
- d->cursor.insertText(deferredText, fmt);
+ cursor().insertText(deferredText, fmt);
}
void QtOutputFormatter::appendMessage(const QString &txt, const QTextCharFormat &format)
{
- if (!d->cursor.atEnd())
- d->cursor.movePosition(QTextCursor::End);
- d->cursor.beginEditBlock();
+ if (!cursor().atEnd())
+ cursor().movePosition(QTextCursor::End);
+ cursor().beginEditBlock();
const QList<FormattedText> ansiTextList = parseAnsi(txt, format);
for (const FormattedText &output : ansiTextList)
appendMessagePart(output.text, output.format);
- d->cursor.endEditBlock();
+ cursor().endEditBlock();
emit contentChanged();
}
@@ -233,9 +232,9 @@ void QtOutputFormatter::appendLine(const LinkResult &lr, const QString &line, Ou
void QtOutputFormatter::appendLine(const LinkResult &lr, const QString &line,
const QTextCharFormat &format)
{
- d->cursor.insertText(line.left(lr.start), format);
- d->cursor.insertText(line.mid(lr.start, lr.end - lr.start), linkFormat(format, lr.href));
- d->cursor.insertText(line.mid(lr.end), format);
+ cursor().insertText(line.left(lr.start), format);
+ cursor().insertText(line.mid(lr.start, lr.end - lr.start), linkFormat(format, lr.href));
+ cursor().insertText(line.mid(lr.end), format);
}
void QtOutputFormatter::handleLink(const QString &href)
@@ -304,12 +303,6 @@ void QtOutputFormatter::handleLink(const QString &href)
}
}
-void QtOutputFormatter::setPlainTextEdit(QPlainTextEdit *plainText)
-{
- OutputFormatter::setPlainTextEdit(plainText);
- d->cursor = plainText ? plainText->textCursor() : QTextCursor();
-}
-
void QtOutputFormatter::clearLastLine()
{
OutputFormatter::clearLastLine();