TextEditor: render suggestion with the tab width of the editor

Fixes: QTCREATORBUG-29483
Change-Id: Id8da019130055ce40bd639d038eb1e74d9787884
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
This commit is contained in:
David Schulz
2023-08-10 14:34:39 +02:00
parent 0a3aad0093
commit b128c585d9

View File

@@ -1735,6 +1735,10 @@ void TextEditorWidgetPrivate::insertSuggestion(std::unique_ptr<TextSuggestion> &
auto cursor = q->textCursor(); auto cursor = q->textCursor();
cursor.setPosition(suggestion->position()); cursor.setPosition(suggestion->position());
QTextOption option = suggestion->document()->defaultTextOption();
option.setTabStopDistance(charWidth() * m_document->tabSettings().m_tabSize);
suggestion->document()->setDefaultTextOption(option);
auto options = suggestion->document()->defaultTextOption();
m_suggestionBlock = cursor.block(); m_suggestionBlock = cursor.block();
m_document->insertSuggestion(std::move(suggestion)); m_document->insertSuggestion(std::move(suggestion));
} }
@@ -8731,6 +8735,11 @@ void TextEditorWidgetPrivate::updateTabStops()
QTextOption option = q->document()->defaultTextOption(); QTextOption option = q->document()->defaultTextOption();
option.setTabStopDistance(charWidth() * m_document->tabSettings().m_tabSize); option.setTabStopDistance(charWidth() * m_document->tabSettings().m_tabSize);
q->document()->setDefaultTextOption(option); q->document()->setDefaultTextOption(option);
if (TextSuggestion *suggestion = TextDocumentLayout::suggestion(m_suggestionBlock)) {
QTextOption option = suggestion->document()->defaultTextOption();
option.setTabStopDistance(option.tabStopDistance());
suggestion->document()->setDefaultTextOption(option);
}
} }
void TextEditorWidgetPrivate::applyTabSettings() void TextEditorWidgetPrivate::applyTabSettings()