TextEditor: extract initilizing the generic highlighter

Change-Id: Ibdd37aeb761087118dd4974a06d82c0dbe1f1731
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This commit is contained in:
David Schulz
2019-02-07 08:36:57 +01:00
parent 67b0d9be2e
commit 874dde6863

View File

@@ -612,6 +612,7 @@ public:
void reconfigure();
void updateSyntaxInfoBar(bool showInfo);
void configureGenericHighlighter(const KSyntaxHighlighting::Definition &definition);
public:
TextEditorWidget *q;
@@ -3297,6 +3298,25 @@ void TextEditorWidgetPrivate::updateSyntaxInfoBar(bool showInfo)
}
}
void TextEditorWidgetPrivate::configureGenericHighlighter(
const KSyntaxHighlighting::Definition &definition)
{
auto highlighter = new Highlighter();
m_document->setSyntaxHighlighter(highlighter);
if (definition.isValid()) {
highlighter->setDefinition(definition);
m_commentDefinition.singleLine = definition.singleLineCommentMarker();
m_commentDefinition.multiLineStart = definition.multiLineCommentMarker().first;
m_commentDefinition.multiLineEnd = definition.multiLineCommentMarker().second;
q->setCodeFoldingSupported(true);
} else {
q->setCodeFoldingSupported(false);
}
m_document->setFontSettings(TextEditorSettings::fontSettings());
}
bool TextEditorWidget::codeFoldingVisible() const
{
return d->m_codeFoldingVisible;
@@ -8494,27 +8514,11 @@ QString TextEditorWidget::textAt(int from, int to) const
void TextEditorWidget::configureGenericHighlighter()
{
auto highlighter = new Highlighter();
textDocument()->setSyntaxHighlighter(highlighter);
setCodeFoldingSupported(false);
const Highlighter::Definition definition = Highlighter::definitionForDocument(textDocument());
if (definition.isValid()) {
highlighter->setDefinition(definition);
d->m_commentDefinition.singleLine = definition.singleLineCommentMarker();
d->m_commentDefinition.multiLineStart = definition.multiLineCommentMarker().first;
d->m_commentDefinition.multiLineEnd = definition.multiLineCommentMarker().second;
setCodeFoldingSupported(true);
}
d->configureGenericHighlighter(definition);
d->updateSyntaxInfoBar(!definition.isValid()
&& !TextEditorSettings::highlighterSettings().isIgnoredFilePattern(
textDocument()->filePath().fileName()));
textDocument()->setFontSettings(TextEditorSettings::fontSettings());
}
int TextEditorWidget::blockNumberForVisibleRow(int row) const