C++ indenter: Fix function declaration continuation indent.

Change-Id: I0ebe1f0f531cb4830f80b80c6bb52caeaee01353
Reviewed-on: http://codereview.qt.nokia.com/1167
Reviewed-by: Leandro T. C. Melo <leandro.melo@nokia.com>
This commit is contained in:
Christian Kamm
2011-07-05 15:29:19 +02:00
parent 2fba201783
commit e2cdaf7888
3 changed files with 51 additions and 13 deletions

View File

@@ -1058,6 +1058,14 @@ int QtStyleCodeFormatter::loadLexerState(const QTextBlock &block) const
return BaseTextDocumentLayout::lexerState(block);
}
void QtStyleCodeFormatter::addContinuationIndent(int *paddingDepth) const
{
if (*paddingDepth == 0)
*paddingDepth = 2*m_tabSettings.m_indentSize;
else
*paddingDepth += m_tabSettings.m_indentSize;
}
void QtStyleCodeFormatter::onEnter(int newState, int *indentDepth, int *savedIndentDepth, int *paddingDepth, int *savedPaddingDepth) const
{
const State &parentState = state();
@@ -1094,12 +1102,8 @@ void QtStyleCodeFormatter::onEnter(int newState, int *indentDepth, int *savedInd
case template_param:
if (!lastToken)
*paddingDepth = nextTokenPosition-*indentDepth;
else {
if (*paddingDepth == 0)
*paddingDepth = 2*m_tabSettings.m_indentSize;
else
*paddingDepth += m_tabSettings.m_indentSize;
}
else
addContinuationIndent(paddingDepth);
break;
case statement_with_condition:
@@ -1143,14 +1147,14 @@ void QtStyleCodeFormatter::onEnter(int newState, int *indentDepth, int *savedInd
if (!lastToken)
*paddingDepth = nextTokenPosition-*indentDepth;
else
*paddingDepth += m_tabSettings.m_indentSize;
addContinuationIndent(paddingDepth);
break;
case ternary_op:
if (!lastToken)
*paddingDepth = spaceOrNextTokenPosition-*indentDepth;
else
*paddingDepth += m_tabSettings.m_indentSize;
addContinuationIndent(paddingDepth);
break;
case stream_op:
@@ -1176,7 +1180,7 @@ void QtStyleCodeFormatter::onEnter(int newState, int *indentDepth, int *savedInd
break;
case member_init_paren_open:
*paddingDepth += m_tabSettings.m_indentSize;
addContinuationIndent(paddingDepth);
break;
case case_cont:

View File

@@ -278,6 +278,8 @@ protected:
static bool shouldClearPaddingOnEnter(int state);
private:
void addContinuationIndent(int *paddingDepth) const;
TextEditor::TabSettings m_tabSettings;
CppCodeStyleSettings m_styleSettings;
};