diff options
author | Ivan Donchevskii <ivan.donchevskii@qt.io> | 2019-01-16 09:37:54 +0100 |
---|---|---|
committer | Ivan Donchevskii <ivan.donchevskii@qt.io> | 2019-01-22 09:52:15 +0000 |
commit | d7058e1afedfe609ff6e81222bd2137922bf7de3 (patch) | |
tree | 62d16136c8336646b8ef0ad4d220b7e0e8331203 /src/plugins/clangtools/clangfixitsrefactoringchanges.cpp | |
parent | 8b5beeb952448540a3834333b694919563d81ee2 (diff) | |
download | qt-creator-d7058e1afedfe609ff6e81222bd2137922bf7de3.tar.gz |
ClangFormat: Refactor indenter to allow ClangFormat unit-tests
We do not build texteditor files in unit-tests so some tricks
were required to make ClangFormatIndenter available.
First simple unit-test proofs it builds and runs.
Change-Id: I81d5ea099bd27fd1c1ed8b5b7877299dcc62a67f
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
Diffstat (limited to 'src/plugins/clangtools/clangfixitsrefactoringchanges.cpp')
-rw-r--r-- | src/plugins/clangtools/clangfixitsrefactoringchanges.cpp | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/plugins/clangtools/clangfixitsrefactoringchanges.cpp b/src/plugins/clangtools/clangfixitsrefactoringchanges.cpp index feff3a8e2c..88b17fb42a 100644 --- a/src/plugins/clangtools/clangfixitsrefactoringchanges.cpp +++ b/src/plugins/clangtools/clangfixitsrefactoringchanges.cpp @@ -32,6 +32,7 @@ #include <texteditor/icodestylepreferencesfactory.h> #include <texteditor/indenter.h> +#include <texteditor/tabsettings.h> #include <texteditor/texteditorsettings.h> #include <QDebug> @@ -83,7 +84,6 @@ bool FixitsRefactoringFile::apply() ICodeStylePreferencesFactory *factory = TextEditorSettings::codeStyleFactory( CppTools::Constants::CPP_SETTINGS_ID); - std::unique_ptr<TextEditor::Indenter> indenter(factory->createIndenter()); const TextEditor::TabSettings tabSettings = CppTools::CppCodeStyleSettings::currentProjectTabSettings(); @@ -103,6 +103,9 @@ bool FixitsRefactoringFile::apply() // Apply QTextDocument *doc = document(op.fileName); + std::unique_ptr<TextEditor::Indenter> indenter(factory->createIndenter(doc)); + indenter->setFileName(Utils::FileName::fromString(op.fileName)); + QTextCursor cursor(doc); cursor.setPosition(op.pos); cursor.setPosition(op.pos + op.length, QTextCursor::KeepAnchor); @@ -139,10 +142,7 @@ void FixitsRefactoringFile::tryToFormat(TextEditor::Indenter &indenter, cursor.movePosition(QTextCursor::Right, QTextCursor::KeepAnchor, op.text.length()); - const Replacements replacements = indenter.format(doc, - Utils::FileName::fromString(op.fileName), - cursor, - tabSettings); + const Replacements replacements = indenter.format(cursor, tabSettings); cursor.endEditBlock(); if (replacements.empty()) |