diff options
Diffstat (limited to 'src/plugins/cpptools/cppcodeformatter.cpp')
-rw-r--r-- | src/plugins/cpptools/cppcodeformatter.cpp | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/plugins/cpptools/cppcodeformatter.cpp b/src/plugins/cpptools/cppcodeformatter.cpp index 8ab36724ff..1bfb0a574a 100644 --- a/src/plugins/cpptools/cppcodeformatter.cpp +++ b/src/plugins/cpptools/cppcodeformatter.cpp @@ -794,6 +794,7 @@ void CodeFormatter::dump() QtStyleCodeFormatter::QtStyleCodeFormatter() : m_indentSize(4) + , m_style(QtStyle) { } @@ -805,6 +806,14 @@ void QtStyleCodeFormatter::setIndentSize(int size) } } +void QtStyleCodeFormatter::setCompoundStyle(CompoundStyle style) +{ + if (style != m_style) { + m_style = style; + invalidateCache(); + } +} + void QtStyleCodeFormatter::onEnter(int newState, int *indentDepth, int *savedIndentDepth) const { const State &parentState = state(); @@ -878,6 +887,8 @@ void QtStyleCodeFormatter::onEnter(int newState, int *indentDepth, int *savedInd break; case substatement_open: + if (m_style == WhitesmithsStyle) + break; if (parentState.type != switch_statement) *indentDepth += m_indentSize; break; @@ -908,6 +919,9 @@ void QtStyleCodeFormatter::onEnter(int newState, int *indentDepth, int *savedInd // undo the continuation indent of the parent *indentDepth = parentState.savedIndentDepth; *savedIndentDepth = *indentDepth; + // these styles want to indent braces + if (m_style == GnuStyle || m_style == WhitesmithsStyle) + *savedIndentDepth += m_indentSize; break; case maybe_else: { |