OSDN Git Service

Set correct mime type for C++ files.
authordt <qtc-committer@nokia.com>
Tue, 13 Oct 2009 15:17:08 +0000 (17:17 +0200)
committerdt <qtc-committer@nokia.com>
Tue, 13 Oct 2009 15:18:23 +0000 (17:18 +0200)
src/plugins/cppeditor/cppeditor.cpp
src/plugins/cppeditor/cppeditor.h
src/plugins/cppeditor/cppplugin.cpp

index f53b7aa..a9f9ea9 100644 (file)
@@ -67,6 +67,7 @@
 #include <coreplugin/actionmanager/actionmanager.h>
 #include <coreplugin/editormanager/ieditor.h>
 #include <coreplugin/editormanager/editormanager.h>
+#include <coreplugin/mimedatabase.h>
 #include <utils/uncommentselection.h>
 #include <extensionsystem/pluginmanager.h>
 #include <projectexplorer/projectexplorerconstants.h>
@@ -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);
index 699cb9e..68159ee 100644 (file)
@@ -164,6 +164,7 @@ public:
     const char *kind() const;
 
     bool isTemporary() const { return false; }
+    virtual bool open(const QString & fileName);
 
 private:
     QList<int> m_context;
index 3372fd3..f27e82b 100644 (file)
@@ -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();
 }