Editor: Fix RTL move line up/down

Fixes: QTCREATORBUG-25515
Change-Id: I865592938ce0f6c36a9f783e9a379ce5e07d6b88
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This commit is contained in:
David Schulz
2021-04-07 11:18:42 +02:00
parent 68d6f6c21c
commit dde3fa12ac

View File

@@ -2003,7 +2003,7 @@ void TextEditorWidgetPrivate::moveLineUpDown(bool up)
move.setPosition(cursor.selectionStart());
move.movePosition(QTextCursor::StartOfBlock);
move.setPosition(cursor.selectionEnd(), QTextCursor::KeepAnchor);
move.movePosition(move.atBlockStart() ? QTextCursor::Left: QTextCursor::EndOfBlock,
move.movePosition(move.atBlockStart() ? QTextCursor::PreviousCharacter: QTextCursor::EndOfBlock,
QTextCursor::KeepAnchor);
} else {
move.movePosition(QTextCursor::StartOfBlock);
@@ -2028,19 +2028,19 @@ void TextEditorWidgetPrivate::moveLineUpDown(bool up)
}
}
move.movePosition(QTextCursor::Right, QTextCursor::KeepAnchor);
move.movePosition(QTextCursor::NextCharacter, QTextCursor::KeepAnchor);
move.removeSelectedText();
if (up) {
move.movePosition(QTextCursor::PreviousBlock);
move.insertBlock();
move.movePosition(QTextCursor::Left);
move.movePosition(QTextCursor::PreviousCharacter);
} else {
move.movePosition(QTextCursor::EndOfBlock);
if (move.atBlockStart()) { // empty block
move.movePosition(QTextCursor::NextBlock);
move.insertBlock();
move.movePosition(QTextCursor::Left);
move.movePosition(QTextCursor::PreviousCharacter);
} else {
move.insertBlock();
}