summaryrefslogtreecommitdiff
path: root/src/plugins/cpptools/cpprefactoringchanges.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/cpptools/cpprefactoringchanges.cpp')
-rw-r--r--src/plugins/cpptools/cpprefactoringchanges.cpp29
1 files changed, 12 insertions, 17 deletions
diff --git a/src/plugins/cpptools/cpprefactoringchanges.cpp b/src/plugins/cpptools/cpprefactoringchanges.cpp
index 4624689c61..b75fa51c0e 100644
--- a/src/plugins/cpptools/cpprefactoringchanges.cpp
+++ b/src/plugins/cpptools/cpprefactoringchanges.cpp
@@ -32,6 +32,7 @@
#include "cpprefactoringchanges.h"
#include "cppcodestylepreferences.h"
+#include "cppqtstyleindenter.h"
#include <TranslationUnit.h>
#include <AST.h>
@@ -62,28 +63,22 @@ public:
const QString &fileName,
const TextEditor::BaseTextEditorWidget *textEditor) const
{
- // ### shares code with CPPEditor::indent()
- QTextDocument *doc = selection.document();
+ const TextEditor::TabSettings &tabSettings =
+ ProjectExplorer::actualTabSettings(fileName, textEditor);
- QTextBlock block = doc->findBlock(selection.selectionStart());
- const QTextBlock end = doc->findBlock(selection.selectionEnd()).next();
+ CppQtStyleIndenter indenter;
+ indenter.indent(selection.document(), selection, QChar::Null, tabSettings);
+ }
+ virtual void reindentSelection(const QTextCursor &selection,
+ const QString &fileName,
+ const TextEditor::BaseTextEditorWidget *textEditor) const
+ {
const TextEditor::TabSettings &tabSettings =
ProjectExplorer::actualTabSettings(fileName, textEditor);
- // TODO: add similar method like above one
- CppTools::QtStyleCodeFormatter codeFormatter(tabSettings,
- CppToolsSettings::instance()->cppCodeStyle()->codeStyleSettings());
- codeFormatter.updateStateUntil(block);
-
- do {
- int indent;
- int padding;
- codeFormatter.indentFor(block, &indent, &padding);
- tabSettings.indentLine(block, indent + padding, padding);
- codeFormatter.updateLineStateChange(block);
- block = block.next();
- } while (block.isValid() && block != end);
+ CppQtStyleIndenter indenter;
+ indenter.reindent(selection.document(), selection, tabSettings);
}
virtual void fileChanged(const QString &fileName)