diff --git a/src/plugins/texteditor/basetexteditor.cpp b/src/plugins/texteditor/basetexteditor.cpp index cf01da50c191a8aa98761d187aa144833eab951b..b9ced9c9a416a9e8ae0ea9af3b93d446e53a6a24 100644 --- a/src/plugins/texteditor/basetexteditor.cpp +++ b/src/plugins/texteditor/basetexteditor.cpp @@ -3656,11 +3656,10 @@ void BaseTextEditor::indentOrUnindent(bool doIndent) int spaces = tabSettings.spacesLeftFromPosition(text, indentPosition); int startColumn = tabSettings.columnAt(text, indentPosition - spaces); int targetColumn = tabSettings.indentedColumn(tabSettings.columnAt(text, indentPosition), doIndent); - cursor.setPosition(block.position() + indentPosition); cursor.setPosition(block.position() + indentPosition - spaces, QTextCursor::KeepAnchor); cursor.removeSelectedText(); - cursor.insertText(tabSettings.indentationString(startColumn, targetColumn)); + cursor.insertText(tabSettings.indentationString(startColumn, targetColumn, block)); } else { // Indent or unindent the selected lines int anchor = cursor.anchor(); @@ -3677,7 +3676,7 @@ void BaseTextEditor::indentOrUnindent(bool doIndent) indentPosition = tabSettings.firstNonSpace(text); int targetColumn = tabSettings.indentedColumn(tabSettings.columnAt(text, indentPosition), doIndent); cursor.setPosition(block.position() + indentPosition); - cursor.insertText(tabSettings.indentationString(0, targetColumn)); + cursor.insertText(tabSettings.indentationString(0, targetColumn, block)); cursor.setPosition(block.position()); cursor.setPosition(block.position() + indentPosition, QTextCursor::KeepAnchor); cursor.removeSelectedText(); @@ -5006,7 +5005,7 @@ void BaseTextEditor::rewrapParagraph() QString spacing; if (commonPrefix.isEmpty()) { - spacing = tabSettings().indentationString(0, indentLevel); + spacing = tabSettings().indentationString(0, indentLevel, textCursor().block()); } else { spacing = commonPrefix; indentLevel = commonPrefix.length(); diff --git a/src/plugins/texteditor/tabsettings.h b/src/plugins/texteditor/tabsettings.h index 66a45c76368f414bd80a2ddceb36bb687eb89cea..d6bd2b0afebd27f12f484ff3333826bf4a96d938 100644 --- a/src/plugins/texteditor/tabsettings.h +++ b/src/plugins/texteditor/tabsettings.h @@ -62,7 +62,7 @@ struct TEXTEDITOR_EXPORT TabSettings int columnAt(const QString &text, int position) const; int spacesLeftFromPosition(const QString &text, int position) const; int indentedColumn(int column, bool doIndent = true) const; - QString indentationString(int startColumn, int targetColumn, const QTextBlock& block = QTextBlock()) const; + QString indentationString(int startColumn, int targetColumn, const QTextBlock& currentBlock = QTextBlock()) const; QString indentationString(const QString &text) const; int indentationColumn(const QString &text) const;