forked from qt-creator/qt-creator
Utils: Create a reusable AnsiEscapeCodeHandler::setTextInEditor
Change-Id: Ic8ebe57287b08870e36e0a5cadbf3d322d14b2fe Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
This commit is contained in:
committed by
Orgad Shaneh
parent
35df237df2
commit
6471572135
@@ -5,6 +5,8 @@
|
||||
|
||||
#include "qtcassert.h"
|
||||
|
||||
#include <QPlainTextEdit>
|
||||
|
||||
namespace Utils {
|
||||
|
||||
/*!
|
||||
@@ -268,6 +270,20 @@ void AnsiEscapeCodeHandler::endFormatScope()
|
||||
m_previousFormatClosed = true;
|
||||
}
|
||||
|
||||
void AnsiEscapeCodeHandler::setTextInEditor(QPlainTextEdit *editor, const QString &text)
|
||||
{
|
||||
AnsiEscapeCodeHandler handler;
|
||||
const QList<FormattedText> formattedTextList = handler.parseText(FormattedText(text));
|
||||
editor->clear();
|
||||
QTextCursor cursor = editor->textCursor();
|
||||
cursor.beginEditBlock();
|
||||
for (const auto &formattedChunk : formattedTextList)
|
||||
cursor.insertText(formattedChunk.text, formattedChunk.format);
|
||||
cursor.endEditBlock();
|
||||
cursor.movePosition(QTextCursor::Start);
|
||||
editor->document()->setModified(false);
|
||||
}
|
||||
|
||||
void AnsiEscapeCodeHandler::setFormatScope(const QTextCharFormat &charFormat)
|
||||
{
|
||||
m_previousFormat = charFormat;
|
||||
|
||||
Reference in New Issue
Block a user