diff options
author | Christian Kamm <christian.d.kamm@nokia.com> | 2010-07-08 08:35:12 +0200 |
---|---|---|
committer | Christian Kamm <christian.d.kamm@nokia.com> | 2010-07-08 08:36:34 +0200 |
commit | 6078b36c9cd4b63faa3d5ae4b59a19cae84bfc47 (patch) | |
tree | fdcec2c2485331cde9740da8fd41f29ba057fafa /src/plugins/cpptools/cppcodeformatter.cpp | |
parent | 870da8e7e3b2eac3db0cbfce5f43316b1c3a4b1a (diff) | |
download | qt-creator-6078b36c9cd4b63faa3d5ae4b59a19cae84bfc47.tar.gz |
C++ indenter: Enable class, struct, enum, namespace, using in functions.
Fixes incorrect indentation we got previously when they were used in a
statement context.
Diffstat (limited to 'src/plugins/cpptools/cppcodeformatter.cpp')
-rw-r--r-- | src/plugins/cpptools/cppcodeformatter.cpp | 41 |
1 files changed, 20 insertions, 21 deletions
diff --git a/src/plugins/cpptools/cppcodeformatter.cpp b/src/plugins/cpptools/cppcodeformatter.cpp index 89915daef5..1c84bae4b8 100644 --- a/src/plugins/cpptools/cppcodeformatter.cpp +++ b/src/plugins/cpptools/cppcodeformatter.cpp @@ -72,16 +72,8 @@ void CodeFormatter::recalculateStateAfter(const QTextBlock &block) switch (m_currentState.top().type) { case topmost_intro: - if (tryDeclaration()) - break; - switch (kind) { - case T_NAMESPACE: enter(namespace_start); break; - case T_STRUCT: - case T_UNION: - case T_CLASS: enter(class_start); break; - case T_ENUM: enter(enum_start); break; - case T_USING: enter(using_start); break; - } break; + tryDeclaration(); + break; case namespace_start: switch (kind) { @@ -93,13 +85,7 @@ void CodeFormatter::recalculateStateAfter(const QTextBlock &block) if (tryDeclaration()) break; switch (kind) { - case T_NAMESPACE: enter(namespace_start); break; case T_RBRACE: leave(); continue; // always nested in namespace_start - case T_STRUCT: - case T_UNION: - case T_CLASS: enter(class_start); break; - case T_ENUM: enter(enum_start); break; - case T_USING: enter(using_start); break; } break; case class_start: @@ -113,11 +99,6 @@ void CodeFormatter::recalculateStateAfter(const QTextBlock &block) break; switch (kind) { case T_RBRACE: leave(); continue; // always nested in class_start - case T_STRUCT: - case T_UNION: - case T_CLASS: enter(class_start); break; - case T_ENUM: enter(enum_start); break; - case T_USING: enter(using_start); break; } break; case enum_start: @@ -704,6 +685,24 @@ bool CodeFormatter::tryDeclaration() enter(template_start); return true; + case T_NAMESPACE: + enter(namespace_start); + return true; + + case T_STRUCT: + case T_UNION: + case T_CLASS: + enter(class_start); + return true; + + case T_ENUM: + enter(enum_start); + return true; + + case T_USING: + enter(using_start); + return true; + default: return false; } |