diff --git a/src/plugins/texteditor/plaintexteditor.cpp b/src/plugins/texteditor/plaintexteditor.cpp index 67b99faabfc31dc0e12cf45fc7772b9d293d6abb..81b30c9e3229fe871c6137618d5e13a81b7aca35 100644 --- a/src/plugins/texteditor/plaintexteditor.cpp +++ b/src/plugins/texteditor/plaintexteditor.cpp @@ -62,7 +62,7 @@ PlainTextEditorEditable::PlainTextEditorEditable(PlainTextEditor *editor) PlainTextEditor::PlainTextEditor(QWidget *parent) : BaseTextEditor(parent), - m_isMissingSyntaxDefinition(true) + m_isMissingSyntaxDefinition(false) { setRevisionsVisible(true); setMarksVisible(true); @@ -164,8 +164,10 @@ void PlainTextEditor::setTabSettings(const TextEditor::TabSettings &ts) void PlainTextEditor::configure() { + Core::MimeType mimeType; if (file()) - configure(Core::ICore::instance()->mimeDatabase()->findByFile(file()->fileName())); + mimeType = Core::ICore::instance()->mimeDatabase()->findByFile(file()->fileName()); + configure(mimeType); } void PlainTextEditor::configure(const Core::MimeType &mimeType) @@ -173,39 +175,39 @@ void PlainTextEditor::configure(const Core::MimeType &mimeType) Highlighter *highlighter = new Highlighter(); baseTextDocument()->setSyntaxHighlighter(highlighter); - m_isMissingSyntaxDefinition = true; setCodeFoldingSupported(false); setCodeFoldingVisible(false); - QString definitionId; if (!mimeType.isNull()) { + m_isMissingSyntaxDefinition = true; + const QString &type = mimeType.type(); setMimeType(type); - definitionId = Manager::instance()->definitionIdByMimeType(type); + QString definitionId = Manager::instance()->definitionIdByMimeType(type); if (definitionId.isEmpty()) definitionId = findDefinitionId(mimeType, true); - } - - if (!definitionId.isEmpty()) { - m_isMissingSyntaxDefinition = false; - const QSharedPointer<HighlightDefinition> &definition = - Manager::instance()->definition(definitionId); - if (!definition.isNull()) { - highlighter->setDefaultContext(definition->initialContext()); - - m_commentDefinition.setAfterWhiteSpaces(definition->isCommentAfterWhiteSpaces()); - m_commentDefinition.setSingleLine(definition->singleLineComment()); - m_commentDefinition.setMultiLineStart(definition->multiLineCommentStart()); - m_commentDefinition.setMultiLineEnd(definition->multiLineCommentEnd()); - setCodeFoldingSupported(true); - setCodeFoldingVisible(true); - } - } else if (file()) { - const QString &fileName = file()->fileName(); - if (TextEditorSettings::instance()->highlighterSettings().isIgnoredFilePattern(fileName)) + if (!definitionId.isEmpty()) { m_isMissingSyntaxDefinition = false; + const QSharedPointer<HighlightDefinition> &definition = + Manager::instance()->definition(definitionId); + if (!definition.isNull()) { + highlighter->setDefaultContext(definition->initialContext()); + + m_commentDefinition.setAfterWhiteSpaces(definition->isCommentAfterWhiteSpaces()); + m_commentDefinition.setSingleLine(definition->singleLineComment()); + m_commentDefinition.setMultiLineStart(definition->multiLineCommentStart()); + m_commentDefinition.setMultiLineEnd(definition->multiLineCommentEnd()); + + setCodeFoldingSupported(true); + setCodeFoldingVisible(true); + } + } else if (file()) { + const QString &fileName = file()->fileName(); + if (TextEditorSettings::instance()->highlighterSettings().isIgnoredFilePattern(fileName)) + m_isMissingSyntaxDefinition = false; + } } setFontSettings(TextEditorSettings::instance()->fontSettings());