diff options
| author | David Schulz <david.schulz@qt.io> | 2019-02-06 10:43:34 +0100 |
|---|---|---|
| committer | David Schulz <david.schulz@qt.io> | 2019-02-07 12:51:19 +0000 |
| commit | f4a45884ca722e346d16eae3a6b10213ba2cf487 (patch) | |
| tree | 2c01eff9ede8fe48da30d64578d4d4520fb8e2c9 | |
| parent | 1dd462ac4d7f356052f5daf9110e548941ab2e65 (diff) | |
| download | qt-creator-f4a45884ca722e346d16eae3a6b10213ba2cf487.tar.gz | |
TextEditor: add convenient definition for document function
Change-Id: I8bbaec71a4682e36d3919924932b410e2e9d74a9
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
| -rw-r--r-- | src/plugins/texteditor/highlighter.cpp | 12 | ||||
| -rw-r--r-- | src/plugins/texteditor/highlighter.h | 2 | ||||
| -rw-r--r-- | src/plugins/texteditor/texteditor.cpp | 13 |
3 files changed, 18 insertions, 9 deletions
diff --git a/src/plugins/texteditor/highlighter.cpp b/src/plugins/texteditor/highlighter.cpp index 170ec12bc8..2471fd17a1 100644 --- a/src/plugins/texteditor/highlighter.cpp +++ b/src/plugins/texteditor/highlighter.cpp @@ -32,6 +32,7 @@ #include <coreplugin/icore.h> #include <coreplugin/messagemanager.h> +#include <utils/mimetypes/mimedatabase.h> #include <Format> #include <Repository> @@ -99,6 +100,17 @@ Highlighter::Highlighter() &categoryForTextStyle); } +KSyntaxHighlighting::Definition Highlighter::definitionForDocument(const TextDocument *document) +{ + const Utils::MimeType mimeType = Utils::mimeTypeForName(document->mimeType()); + KSyntaxHighlighting::Definition definition; + if (mimeType.isValid()) + definition = Highlighter::definitionForMimeType(mimeType.name()); + if (!definition.isValid()) + definition = Highlighter::definitionForFileName(document->filePath().fileName()); + return definition; +} + KSyntaxHighlighting::Definition Highlighter::definitionForMimeType(const QString &mimeType) { return highlightRepository()->definitionForMimeType(mimeType); diff --git a/src/plugins/texteditor/highlighter.h b/src/plugins/texteditor/highlighter.h index 90ab31332a..f29da279e3 100644 --- a/src/plugins/texteditor/highlighter.h +++ b/src/plugins/texteditor/highlighter.h @@ -34,12 +34,14 @@ namespace TextEditor { class FontSettings; +class TextDocument; class Highlighter : public SyntaxHighlighter, public KSyntaxHighlighting::AbstractHighlighter { public: Highlighter(); + static KSyntaxHighlighting::Definition definitionForDocument(const TextDocument *document); static KSyntaxHighlighting::Definition definitionForMimeType(const QString &mimeType); static KSyntaxHighlighting::Definition definitionForFileName(const QString &fileName); diff --git a/src/plugins/texteditor/texteditor.cpp b/src/plugins/texteditor/texteditor.cpp index 7a301e3899..8e5aaacbad 100644 --- a/src/plugins/texteditor/texteditor.cpp +++ b/src/plugins/texteditor/texteditor.cpp @@ -8499,14 +8499,8 @@ void TextEditorWidget::configureGenericHighlighter() setCodeFoldingSupported(false); - const QString type = textDocument()->mimeType(); - const MimeType mimeType = Utils::mimeTypeForName(type); - const QString fileName = textDocument()->filePath().fileName(); - KSyntaxHighlighting::Definition definition; - if (mimeType.isValid()) - definition = Highlighter::definitionForMimeType(mimeType.name()); - if (!definition.isValid()) - definition = Highlighter::definitionForFileName(fileName); + const KSyntaxHighlighting::Definition definition = + Highlighter::definitionForDocument(textDocument()); if (definition.isValid()) { highlighter->setDefinition(definition); @@ -8518,7 +8512,8 @@ void TextEditorWidget::configureGenericHighlighter() } d->updateSyntaxInfoBar(!definition.isValid() - && !TextEditorSettings::highlighterSettings().isIgnoredFilePattern(fileName)); + && !TextEditorSettings::highlighterSettings().isIgnoredFilePattern( + textDocument()->filePath().fileName())); textDocument()->setFontSettings(TextEditorSettings::fontSettings()); } |
