TextEditor: add text cursor to assist interface

This will allow us to request assistance for a specific selection
instead of just the position.

Change-Id: Ib8e5b32d4a8f2936e5a6f1b7ac968d7f1d8d9de6
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
This commit is contained in:
David Schulz
2022-05-13 10:05:45 +02:00
parent 1402b16451
commit 59a77a4965
18 changed files with 44 additions and 60 deletions

View File

@@ -616,18 +616,13 @@ void addFixItsActionsToMenu(QMenu *menu, const TextEditor::QuickFixOperations &f
}
}
static int lineToPosition(const QTextDocument *textDocument, int lineNumber)
{
QTC_ASSERT(textDocument, return 0);
const QTextBlock textBlock = textDocument->findBlockByLineNumber(lineNumber);
return textBlock.isValid() ? textBlock.position() - 1 : 0;
}
static TextEditor::AssistInterface createAssistInterface(TextEditor::TextEditorWidget *widget,
int lineNumber)
{
return TextEditor::AssistInterface(widget->document(),
lineToPosition(widget->document(), lineNumber),
QTextCursor cursor(widget->document()->findBlockByLineNumber(lineNumber));
if (!cursor.atStart())
cursor.movePosition(QTextCursor::PreviousCharacter);
return TextEditor::AssistInterface(cursor,
widget->textDocument()->filePath(),
TextEditor::IdleEditor);
}