diff --git a/src/plugins/texteditor/basetexteditor.cpp b/src/plugins/texteditor/basetexteditor.cpp index b17a3c2a3dbde69a2cabe1a8bb57753fbbd04d1a..9cf2116abcadd59fbc3321c53c25aa0b24cfdf4f 100644 --- a/src/plugins/texteditor/basetexteditor.cpp +++ b/src/plugins/texteditor/basetexteditor.cpp @@ -896,15 +896,19 @@ void BaseTextEditor::joinLineUpDown(bool up) move.movePosition(QTextCursor::Up); else move.movePosition(QTextCursor::Down); + move.movePosition(QTextCursor::StartOfBlock); move.movePosition(QTextCursor::EndOfBlock, QTextCursor::KeepAnchor); QString cutLine = move.selectedText(); + // collapse trailing whitespaces to one or insert whitespace + cutLine.replace(QRegExp("^\\s*"), " "); move.movePosition(QTextCursor::Right, QTextCursor::KeepAnchor); move.removeSelectedText(); move.clearSelection(); if(!up) move.movePosition(QTextCursor::Up); + move.movePosition(QTextCursor::EndOfBlock); move.insertText(cutLine); move.endEditBlock();