forked from qt-creator/qt-creator
TextEditor: support inline suggestions
Change-Id: I70924a37f9078c5b33c1703e099fc9ddc0b1ae9a Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
This commit is contained in:
@@ -373,10 +373,16 @@ QAction *TextDocument::createDiffAgainstCurrentFileAction(
|
||||
return diffAction;
|
||||
}
|
||||
|
||||
void TextDocument::insertSuggestion(const QString &text, const QTextBlock &block)
|
||||
void TextDocument::insertSuggestion(const QString &text, const QTextCursor &cursor)
|
||||
{
|
||||
TextDocumentLayout::userData(block)->setReplacement(block.text() + text);
|
||||
TextDocumentLayout::updateReplacmentFormats(block, fontSettings());
|
||||
const QTextBlock block = cursor.block();
|
||||
const QString blockText = block.text();
|
||||
QString replacement = blockText.left(cursor.positionInBlock()) + text;
|
||||
if (!text.contains('\n'))
|
||||
replacement.append(blockText.mid(cursor.positionInBlock()));
|
||||
TextDocumentLayout::userData(block)->setReplacement(replacement);
|
||||
TextDocumentLayout::userData(block)->setReplacementPosition(cursor.positionInBlock());
|
||||
TextDocumentLayout::updateReplacementFormats(block, fontSettings());
|
||||
updateLayout();
|
||||
}
|
||||
|
||||
@@ -428,7 +434,7 @@ void TextDocument::applyFontSettings()
|
||||
d->m_fontSettingsNeedsApply = false;
|
||||
QTextBlock block = document()->firstBlock();
|
||||
while (block.isValid()) {
|
||||
TextDocumentLayout::updateReplacmentFormats(block, fontSettings());
|
||||
TextDocumentLayout::updateReplacementFormats(block, fontSettings());
|
||||
block = block.next();
|
||||
}
|
||||
updateLayout();
|
||||
|
||||
Reference in New Issue
Block a user