From 1f525f929d180dfef4d008a2a231ff7cc3c06a53 Mon Sep 17 00:00:00 2001
From: Kai Koehne <kai.koehne@nokia.com>
Date: Thu, 16 Jul 2009 14:53:41 +1000
Subject: [PATCH] Fix auto-indentation for dui editor

This patch should fix auto-indentation (Ctrl+I) for the most usual
cases. Before this patch, lines were never dedented, resulting in e.g.

Rect {
  Item {
    }
    Item {
      }
---
 src/plugins/duieditor/duieditor.cpp | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/src/plugins/duieditor/duieditor.cpp b/src/plugins/duieditor/duieditor.cpp
index 9300ba45f36..58624f55617 100644
--- a/src/plugins/duieditor/duieditor.cpp
+++ b/src/plugins/duieditor/duieditor.cpp
@@ -617,8 +617,10 @@ void ScriptEditor::indentBlock(QTextDocument *, QTextBlock block, QChar typedCha
 {
 	TextEditor::TabSettings ts = tabSettings();
 
-	if (typedChar == QLatin1Char('}')) {
-		QTextCursor tc = textCursor();
+	if (typedChar == QLatin1Char('}')
+		|| ((typedChar == QChar::Null) && block.text().trimmed() == "}")) {
+
+		QTextCursor tc(block);
 		if (TextEditor::TextBlockUserData::findPreviousBlockOpenParenthesis(&tc)) {
 			const QString text = tc.block().text();
 			int indent = ts.columnAt(text, ts.firstNonSpace(text));
-- 
GitLab