diff --git a/src/plugins/cppeditor/cppeditor.cpp b/src/plugins/cppeditor/cppeditor.cpp index f53b7aae759..a9f9ea95882 100644 --- a/src/plugins/cppeditor/cppeditor.cpp +++ b/src/plugins/cppeditor/cppeditor.cpp @@ -67,6 +67,7 @@ #include #include #include +#include #include #include #include @@ -1751,6 +1752,13 @@ const char *CPPEditorEditable::kind() const return CppEditor::Constants::CPPEDITOR_KIND; } +bool CPPEditorEditable::open(const QString & fileName) +{ + bool b = TextEditor::BaseTextEditorEditable::open(fileName); + editor()->setMimeType(Core::ICore::instance()->mimeDatabase()->findByFile(QFileInfo(fileName)).type()); + return b; +} + void CPPEditor::setFontSettings(const TextEditor::FontSettings &fs) { TextEditor::BaseTextEditor::setFontSettings(fs); diff --git a/src/plugins/cppeditor/cppeditor.h b/src/plugins/cppeditor/cppeditor.h index 699cb9e49fa..68159ee9100 100644 --- a/src/plugins/cppeditor/cppeditor.h +++ b/src/plugins/cppeditor/cppeditor.h @@ -164,6 +164,7 @@ public: const char *kind() const; bool isTemporary() const { return false; } + virtual bool open(const QString & fileName); private: QList m_context; diff --git a/src/plugins/cppeditor/cppplugin.cpp b/src/plugins/cppeditor/cppplugin.cpp index 3372fd336d1..f27e82bdb96 100644 --- a/src/plugins/cppeditor/cppplugin.cpp +++ b/src/plugins/cppeditor/cppplugin.cpp @@ -97,7 +97,6 @@ Core::IEditor *CppEditorFactory::createEditor(QWidget *parent) { CPPEditor *editor = new CPPEditor(parent); editor->setRevisionsVisible(true); - editor->setMimeType(CppEditor::Constants::CPP_SOURCE_MIMETYPE); m_owner->initializeEditor(editor); return editor->editableInterface(); }