From 79f01c101a0fd27ce58a6fbae5824537cac835e6 Mon Sep 17 00:00:00 2001 From: Thomas Hartmann Date: Wed, 26 May 2021 14:33:22 +0200 Subject: [PATCH] QmDesigner: Add flag for adding lineSep to handle empty case If line is empty and the continue path is taken result stays empty. This means we do net add the lineSep for the next line. Handling this explicitly with a flag fixes the issue. Change-Id: I879e6e4a7238069ecc63e8188f0fb5929ac05363 Reviewed-by: David Schulz --- .../qmldesigner/designercore/filemanager/qmlrewriter.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/plugins/qmldesigner/designercore/filemanager/qmlrewriter.cpp b/src/plugins/qmldesigner/designercore/filemanager/qmlrewriter.cpp index b383b31e021..43e23f3fec5 100644 --- a/src/plugins/qmldesigner/designercore/filemanager/qmlrewriter.cpp +++ b/src/plugins/qmldesigner/designercore/filemanager/qmlrewriter.cpp @@ -93,13 +93,17 @@ QString QMLRewriter::addIndentation(const QString &text, unsigned depth) TextEditor::TabSettings tabSettings = textModifier()->tabSettings(); QString result; + bool addLineSep = false; constexpr char lineSep('\n'); const QStringList lines = text.split(lineSep); for (const QString &line : lines) { - if (!result.isEmpty()) + if (addLineSep) result += lineSep; + + addLineSep = true; if (line.isEmpty()) continue; + const int firstNoneSpace = TextEditor::TabSettings::firstNonSpace(line); const int lineIndentColumn = tabSettings.indentationColumn(line) + int(depth); result.append(tabSettings.indentationString(0, lineIndentColumn, 0));