summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/plugins/qmljseditor/qmlfilewizard.cpp2
-rw-r--r--src/plugins/qmljseditor/qmljseditor.cpp12
-rw-r--r--src/plugins/qmljseditor/qmljseditor.h1
-rw-r--r--src/plugins/qmljseditor/qmljseditorconstants.h3
-rw-r--r--src/plugins/qmljseditor/qmljseditorfactory.cpp7
-rw-r--r--src/plugins/qmljseditor/qmljseditorfactory.h2
6 files changed, 20 insertions, 7 deletions
diff --git a/src/plugins/qmljseditor/qmlfilewizard.cpp b/src/plugins/qmljseditor/qmlfilewizard.cpp
index a35236ab52..4bf4cc3321 100644
--- a/src/plugins/qmljseditor/qmlfilewizard.cpp
+++ b/src/plugins/qmljseditor/qmlfilewizard.cpp
@@ -46,7 +46,7 @@ Core::GeneratedFiles QmlFileWizard::generateFilesFromPath(const QString &path,
QString * /*errorMessage*/) const
{
- const QString mimeType = QLatin1String(Constants::QMLJSEDITOR_MIMETYPE);
+ const QString mimeType = QLatin1String(Constants::QML_MIMETYPE);
const QString fileName = Core::BaseFileWizard::buildFileName(path, name, preferredSuffix(mimeType));
Core::GeneratedFile file(fileName);
diff --git a/src/plugins/qmljseditor/qmljseditor.cpp b/src/plugins/qmljseditor/qmljseditor.cpp
index 37736abf70..7af2fffbc8 100644
--- a/src/plugins/qmljseditor/qmljseditor.cpp
+++ b/src/plugins/qmljseditor/qmljseditor.cpp
@@ -46,8 +46,9 @@
#include <qmljs/qmldocument.h>
#include <qmljs/qmlidcollector.h>
-#include <coreplugin/icore.h>
#include <coreplugin/actionmanager/actionmanager.h>
+#include <coreplugin/icore.h>
+#include <coreplugin/mimedatabase.h>
#include <coreplugin/uniqueidmanager.h>
#include <extensionsystem/pluginmanager.h>
#include <texteditor/basetextdocument.h>
@@ -59,6 +60,7 @@
#include <utils/changeset.h>
#include <utils/uncommentselection.h>
+#include <QtCore/QFileInfo>
#include <QtCore/QTimer>
#include <QtGui/QMenu>
@@ -317,7 +319,6 @@ QmlJSTextEditor::QmlJSTextEditor(QWidget *parent) :
setMarksVisible(true);
setCodeFoldingSupported(true);
setCodeFoldingVisible(true);
- setMimeType(QmlJSEditor::Constants::QMLJSEDITOR_MIMETYPE);
m_updateDocumentTimer = new QTimer(this);
m_updateDocumentTimer->setInterval(UPDATE_DOCUMENT_DEFAULT_INTERVAL);
@@ -363,6 +364,13 @@ QString QmlJSEditorEditable::id() const
return QLatin1String(QmlJSEditor::Constants::C_QMLJSEDITOR_ID);
}
+bool QmlJSEditorEditable::open(const QString &fileName)
+{
+ bool b = TextEditor::BaseTextEditorEditable::open(fileName);
+ editor()->setMimeType(Core::ICore::instance()->mimeDatabase()->findByFile(QFileInfo(fileName)).type());
+ return b;
+}
+
QmlJSTextEditor::Context QmlJSEditorEditable::context() const
{
return m_context;
diff --git a/src/plugins/qmljseditor/qmljseditor.h b/src/plugins/qmljseditor/qmljseditor.h
index c3541a975f..a99826834c 100644
--- a/src/plugins/qmljseditor/qmljseditor.h
+++ b/src/plugins/qmljseditor/qmljseditor.h
@@ -68,6 +68,7 @@ public:
Core::IEditor *duplicate(QWidget *parent);
QString id() const;
bool isTemporary() const { return false; }
+ virtual bool open(const QString & fileName);
private:
QList<int> m_context;
diff --git a/src/plugins/qmljseditor/qmljseditorconstants.h b/src/plugins/qmljseditor/qmljseditorconstants.h
index df82492d16..7996a6c9f9 100644
--- a/src/plugins/qmljseditor/qmljseditorconstants.h
+++ b/src/plugins/qmljseditor/qmljseditorconstants.h
@@ -41,7 +41,8 @@ const char * const C_QMLJSEDITOR_ID = "QMLProjectManager.QMLJSEditor";
const char * const C_QMLJSEDITOR_DISPLAY_NAME = QT_TRANSLATE_NOOP("OpenWith::Editors", "QMLJS Editor");
const char * const TASK_INDEX = "QmlJSEditor.TaskIndex";
-const char * const QMLJSEDITOR_MIMETYPE = "application/x-qml";
+const char * const QML_MIMETYPE = "application/x-qml";
+const char * const JS_MIMETYPE = "application/javascript";
} // namespace Constants
} // namespace QmlJSEditor
diff --git a/src/plugins/qmljseditor/qmljseditorfactory.cpp b/src/plugins/qmljseditor/qmljseditorfactory.cpp
index 56654e5d24..bcb27f8727 100644
--- a/src/plugins/qmljseditor/qmljseditorfactory.cpp
+++ b/src/plugins/qmljseditor/qmljseditorfactory.cpp
@@ -42,9 +42,12 @@ using namespace QmlJSEditor::Internal;
using namespace QmlJSEditor::Constants;
QmlJSEditorFactory::QmlJSEditorFactory(QObject *parent)
- : Core::IEditorFactory(parent),
- m_mimeTypes(QLatin1String(QmlJSEditor::Constants::QMLJSEDITOR_MIMETYPE))
+ : Core::IEditorFactory(parent)
{
+ m_mimeTypes
+ << QLatin1String(QmlJSEditor::Constants::QML_MIMETYPE)
+ << QLatin1String(QmlJSEditor::Constants::JS_MIMETYPE)
+ ;
}
QmlJSEditorFactory::~QmlJSEditorFactory()
diff --git a/src/plugins/qmljseditor/qmljseditorfactory.h b/src/plugins/qmljseditor/qmljseditorfactory.h
index 4c3158bd07..3af7fe1e22 100644
--- a/src/plugins/qmljseditor/qmljseditorfactory.h
+++ b/src/plugins/qmljseditor/qmljseditorfactory.h
@@ -59,7 +59,7 @@ public:
Core::IEditor *createEditor(QWidget *parent);
private:
- const QStringList m_mimeTypes;
+ QStringList m_mimeTypes;
};
} // namespace Internal