summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Schulz <david.schulz@qt.io>2019-02-06 10:43:34 +0100
committerDavid Schulz <david.schulz@qt.io>2019-02-07 12:51:19 +0000
commitf4a45884ca722e346d16eae3a6b10213ba2cf487 (patch)
tree2c01eff9ede8fe48da30d64578d4d4520fb8e2c9
parent1dd462ac4d7f356052f5daf9110e548941ab2e65 (diff)
downloadqt-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.cpp12
-rw-r--r--src/plugins/texteditor/highlighter.h2
-rw-r--r--src/plugins/texteditor/texteditor.cpp13
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());
}