From 4e53c23b4b445af0ce01511305e7991a3c6990a2 Mon Sep 17 00:00:00 2001 From: Eike Ziller Date: Tue, 24 Feb 2015 09:53:55 +0100 Subject: [PATCH] Mime types: Fix that some QML files were opened as C++ We registered a mime type "application/x-qml" conflicting with "text/x- qml" from freedesktop.org.xml. The magic matcher of the C++ mime types might kick in, in that case. Task-number: QTCREATORBUG-13994 Change-Id: I5900c233b42681d7b7d3af185d6ff3e1c4166e59 Reviewed-by: Christian Stenger --- .../templates/wizards/classes/qtquickui/wizard.json | 2 +- .../templates/wizards/files/qtquick1/wizard.json | 2 +- .../templates/wizards/files/qtquick2/wizard.json | 2 +- .../projectexplorer/projectexplorerconstants.h | 2 +- src/plugins/qmljstools/QmlJSTools.mimetypes.xml | 13 +++++++------ src/plugins/qmljstools/qmljstoolsconstants.h | 2 +- .../QmlProjectManager.mimetypes.xml | 2 +- .../qmlprojectrunconfiguration.cpp | 4 ++-- 8 files changed, 15 insertions(+), 14 deletions(-) diff --git a/share/qtcreator/templates/wizards/classes/qtquickui/wizard.json b/share/qtcreator/templates/wizards/classes/qtquickui/wizard.json index 08de27a95e4..208106e3df8 100644 --- a/share/qtcreator/templates/wizards/classes/qtquickui/wizard.json +++ b/share/qtcreator/templates/wizards/classes/qtquickui/wizard.json @@ -10,7 +10,7 @@ "featuresRequired": [ "Plugin.QmlJSEditor", "QtSupport.Wizards.FeatureQtQuick.UiFiles" ], "options" : [ - { "key": "QmlFile", "value": "%{Class}.%{JS: Util.preferredSuffix('application/x-qml')}" }, + { "key": "QmlFile", "value": "%{Class}.%{JS: Util.preferredSuffix('text/x-qml')}" }, { "key": "UiFile", "value": "%{FormClass}.%{JS: Util.preferredSuffix('application/x-qt.ui+qml')}" } ], diff --git a/share/qtcreator/templates/wizards/files/qtquick1/wizard.json b/share/qtcreator/templates/wizards/files/qtquick1/wizard.json index f839ac95b88..2c4fed3e84c 100644 --- a/share/qtcreator/templates/wizards/files/qtquick1/wizard.json +++ b/share/qtcreator/templates/wizards/files/qtquick1/wizard.json @@ -29,7 +29,7 @@ "data": { "source": "file.qml", - "target": "%{JS: Util.fileName('%{TargetPath}', '%{JS: Util.preferredSuffix('application/x-qml')}')}", + "target": "%{JS: Util.fileName('%{TargetPath}', '%{JS: Util.preferredSuffix('text/x-qml')}')}", "openInEditor": true } } diff --git a/share/qtcreator/templates/wizards/files/qtquick2/wizard.json b/share/qtcreator/templates/wizards/files/qtquick2/wizard.json index 6eee0fe2414..a627143a5ed 100644 --- a/share/qtcreator/templates/wizards/files/qtquick2/wizard.json +++ b/share/qtcreator/templates/wizards/files/qtquick2/wizard.json @@ -29,7 +29,7 @@ "data": { "source": "file.qml", - "target": "%{JS: Util.fileName('%{TargetPath}', '%{JS: Util.preferredSuffix('application/x-qml')}')}", + "target": "%{JS: Util.fileName('%{TargetPath}', '%{JS: Util.preferredSuffix('text/x-qml')}')}", "openInEditor": true } } diff --git a/src/plugins/projectexplorer/projectexplorerconstants.h b/src/plugins/projectexplorer/projectexplorerconstants.h index 37818e8fb68..562713dddf6 100644 --- a/src/plugins/projectexplorer/projectexplorerconstants.h +++ b/src/plugins/projectexplorer/projectexplorerconstants.h @@ -173,7 +173,7 @@ const char CPP_SOURCE_MIMETYPE[] = "text/x-c++src"; const char CPP_HEADER_MIMETYPE[] = "text/x-c++hdr"; const char LINGUIST_MIMETYPE[] = "text/vnd.trolltech.linguist"; const char FORM_MIMETYPE[] = "application/x-designer"; -const char QML_MIMETYPE[] = "application/x-qml"; // separate def also in qmljstoolsconstants.h +const char QML_MIMETYPE[] = "text/x-qml"; // separate def also in qmljstoolsconstants.h const char RESOURCE_MIMETYPE[] = "application/vnd.qt.xml.resource"; // Settings page diff --git a/src/plugins/qmljstools/QmlJSTools.mimetypes.xml b/src/plugins/qmljstools/QmlJSTools.mimetypes.xml index e92b7735423..575e3c6b1cb 100644 --- a/src/plugins/qmljstools/QmlJSTools.mimetypes.xml +++ b/src/plugins/qmljstools/QmlJSTools.mimetypes.xml @@ -1,32 +1,33 @@ - - + + + QML file - + Qt Build Suite file - + QtQuick Designer ui file - + Qt Creator Qt UI project file - + QML file diff --git a/src/plugins/qmljstools/qmljstoolsconstants.h b/src/plugins/qmljstools/qmljstoolsconstants.h index ce1d1f3b44f..7570b3f0e46 100644 --- a/src/plugins/qmljstools/qmljstoolsconstants.h +++ b/src/plugins/qmljstools/qmljstoolsconstants.h @@ -36,7 +36,7 @@ namespace QmlJSTools { namespace Constants { -const char QML_MIMETYPE[] = "application/x-qml"; // separate def also in projectexplorerconstants.h +const char QML_MIMETYPE[] = "text/x-qml"; // separate def also in projectexplorerconstants.h const char QBS_MIMETYPE[] = "application/x-qt.qbs+qml"; const char QMLPROJECT_MIMETYPE[] = "application/x-qmlproject"; const char QMLTYPES_MIMETYPE[] = "application/x-qt.meta-info+qml"; diff --git a/src/plugins/qmlprojectmanager/QmlProjectManager.mimetypes.xml b/src/plugins/qmlprojectmanager/QmlProjectManager.mimetypes.xml index 0149926c129..812d1cb8797 100644 --- a/src/plugins/qmlprojectmanager/QmlProjectManager.mimetypes.xml +++ b/src/plugins/qmlprojectmanager/QmlProjectManager.mimetypes.xml @@ -2,7 +2,7 @@ - + QML Project file diff --git a/src/plugins/qmlprojectmanager/qmlprojectrunconfiguration.cpp b/src/plugins/qmlprojectmanager/qmlprojectrunconfiguration.cpp index 5ba76147cef..3da719d53b1 100644 --- a/src/plugins/qmlprojectmanager/qmlprojectrunconfiguration.cpp +++ b/src/plugins/qmlprojectmanager/qmlprojectrunconfiguration.cpp @@ -269,7 +269,7 @@ void QmlProjectRunConfiguration::updateEnabled() IDocument *document = EditorManager::currentDocument(); if (document) { m_currentFileFilename = document->filePath().toString(); - if (mdb.mimeTypeForFile(mainScript()).matchesName(QLatin1String("application/x-qml"))) + if (mdb.mimeTypeForFile(mainScript()).matchesName(QLatin1String("text/x-qml"))) qmlFileFound = true; } if (!document @@ -280,7 +280,7 @@ void QmlProjectRunConfiguration::updateEnabled() const QFileInfo fi(filename); if (!filename.isEmpty() && fi.baseName()[0].isLower() - && mdb.mimeTypeForFile(fi).matchesName(QLatin1String("application/x-qml"))) + && mdb.mimeTypeForFile(fi).matchesName(QLatin1String("text/x-qml"))) { m_currentFileFilename = filename; qmlFileFound = true;