Qt: handle newlines in TextBuffer print()

This commit is contained in:
Adam Higerd 2024-10-11 19:50:05 -05:00 committed by Vicki Pfau
parent a114207828
commit b272968969
1 changed files with 16 additions and 17 deletions

View File

@ -51,8 +51,7 @@ void ScriptingTextBuffer::setBufferName(const QString& name) {
void ScriptingTextBuffer::print(const QString& text) {
QMutexLocker locker(&m_mutex);
QString split(text);
m_shim.cursor.beginEditBlock();
for (QString split : text.split('\n')) {
while (m_shim.cursor.positionInBlock() + split.length() > m_dims.width()) {
int cut = m_dims.width() - m_shim.cursor.positionInBlock();
if (!m_shim.cursor.atBlockEnd()) {
@ -70,7 +69,7 @@ void ScriptingTextBuffer::print(const QString& text) {
m_shim.cursor.movePosition(QTextCursor::NextCharacter, QTextCursor::KeepAnchor, split.length());
}
m_shim.cursor.insertText(split);
m_shim.cursor.endEditBlock();
}
}
void ScriptingTextBuffer::clear() {