From c8fae1122216b66f16e15aa5a5527ddf613aac26 Mon Sep 17 00:00:00 2001 From: Christian Kamm <christian.d.kamm@nokia.com> Date: Thu, 8 Jul 2010 13:07:32 +0200 Subject: [PATCH] C++ indenter: Fix for extending if conditions. Task-number: QTCREATORBUG-1825 --- src/plugins/cpptools/cppcodeformatter.cpp | 12 +++++++----- .../cplusplus/codeformatter/tst_codeformatter.cpp | 2 +- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/src/plugins/cpptools/cppcodeformatter.cpp b/src/plugins/cpptools/cppcodeformatter.cpp index f0288538a1f..45c79e783ec 100644 --- a/src/plugins/cpptools/cppcodeformatter.cpp +++ b/src/plugins/cpptools/cppcodeformatter.cpp @@ -1194,11 +1194,13 @@ void QtStyleCodeFormatter::adjustIndent(const QList<CPlusPlus::Token> &tokens, i } break; } - case T_RPAREN: - if (topState.type == condition_open) { - *indentDepth = previousState.savedIndentDepth; - } - break; + // Disabled for now, see QTCREATORBUG-1825. It makes extending if conditions + // awkward: inserting a newline just before the ) shouldn't align to 'if'. + //case T_RPAREN: + // if (topState.type == condition_open) { + // *indentDepth = previousState.savedIndentDepth; + // } + // break; case T_DEFAULT: case T_CASE: for (int i = 0; state(i).type != topmost_intro; ++i) { diff --git a/tests/auto/cplusplus/codeformatter/tst_codeformatter.cpp b/tests/auto/cplusplus/codeformatter/tst_codeformatter.cpp index 3141e76002f..c8216f90bac 100644 --- a/tests/auto/cplusplus/codeformatter/tst_codeformatter.cpp +++ b/tests/auto/cplusplus/codeformatter/tst_codeformatter.cpp @@ -266,7 +266,7 @@ void tst_CodeFormatter::ifStatementLongCondition() << Line(" || (a + b > 4") << Line(" && foo(bar)") << Line(" )") - << Line(" ) {") + << Line(" ) {") << Line(" foo;") << Line(" }") << Line("}"); -- GitLab