forked from qt-creator/qt-creator
TextEditor: extract initilizing the generic highlighter
Change-Id: Ibdd37aeb761087118dd4974a06d82c0dbe1f1731 Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This commit is contained in:
@@ -612,6 +612,7 @@ public:
|
|||||||
|
|
||||||
void reconfigure();
|
void reconfigure();
|
||||||
void updateSyntaxInfoBar(bool showInfo);
|
void updateSyntaxInfoBar(bool showInfo);
|
||||||
|
void configureGenericHighlighter(const KSyntaxHighlighting::Definition &definition);
|
||||||
|
|
||||||
public:
|
public:
|
||||||
TextEditorWidget *q;
|
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
|
bool TextEditorWidget::codeFoldingVisible() const
|
||||||
{
|
{
|
||||||
return d->m_codeFoldingVisible;
|
return d->m_codeFoldingVisible;
|
||||||
@@ -8494,27 +8514,11 @@ QString TextEditorWidget::textAt(int from, int to) const
|
|||||||
|
|
||||||
void TextEditorWidget::configureGenericHighlighter()
|
void TextEditorWidget::configureGenericHighlighter()
|
||||||
{
|
{
|
||||||
auto highlighter = new Highlighter();
|
|
||||||
textDocument()->setSyntaxHighlighter(highlighter);
|
|
||||||
|
|
||||||
setCodeFoldingSupported(false);
|
|
||||||
|
|
||||||
const Highlighter::Definition definition = Highlighter::definitionForDocument(textDocument());
|
const Highlighter::Definition definition = Highlighter::definitionForDocument(textDocument());
|
||||||
|
d->configureGenericHighlighter(definition);
|
||||||
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->updateSyntaxInfoBar(!definition.isValid()
|
d->updateSyntaxInfoBar(!definition.isValid()
|
||||||
&& !TextEditorSettings::highlighterSettings().isIgnoredFilePattern(
|
&& !TextEditorSettings::highlighterSettings().isIgnoredFilePattern(
|
||||||
textDocument()->filePath().fileName()));
|
textDocument()->filePath().fileName()));
|
||||||
|
|
||||||
textDocument()->setFontSettings(TextEditorSettings::fontSettings());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
int TextEditorWidget::blockNumberForVisibleRow(int row) const
|
int TextEditorWidget::blockNumberForVisibleRow(int row) const
|
||||||
|
Reference in New Issue
Block a user