forked from qt-creator/qt-creator
Editor: add formatter support
Change-Id: I65590273b2541e08a39970cd9bb4739a5634b2f7 Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This commit is contained in:
@@ -215,5 +215,25 @@ bool utf8AdvanceCodePoint(const char *¤t)
|
||||
return true;
|
||||
}
|
||||
|
||||
void applyReplacements(QTextDocument *doc, const Replacements &replacements)
|
||||
{
|
||||
if (replacements.empty())
|
||||
return;
|
||||
|
||||
int fullOffsetShift = 0;
|
||||
QTextCursor editCursor(doc);
|
||||
editCursor.beginEditBlock();
|
||||
for (const Utils::Text::Replacement &replacement : replacements) {
|
||||
editCursor.setPosition(replacement.offset + fullOffsetShift);
|
||||
editCursor.movePosition(QTextCursor::NextCharacter,
|
||||
QTextCursor::KeepAnchor,
|
||||
replacement.length);
|
||||
editCursor.removeSelectedText();
|
||||
editCursor.insertText(replacement.text);
|
||||
fullOffsetShift += replacement.text.length() - replacement.length;
|
||||
}
|
||||
editCursor.endEditBlock();
|
||||
}
|
||||
|
||||
} // Text
|
||||
} // Utils
|
||||
|
||||
Reference in New Issue
Block a user