forked from qt-creator/qt-creator
Treat .ui.qml mime type the same as .qml
Right now, the qmake project manager offers a "Build" context menu entry for .ui.qml files and various other things are off because the mime types are different. Change-Id: Icc966e56513b9c5aed05f929dc8cb728ed408723 Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
This commit is contained in:
@@ -95,6 +95,7 @@ Protocol::ContentType Protocol::contentType(const QString &mt)
|
||||
|| mt == QLatin1String(CppTools::Constants::OBJECTIVE_CPP_SOURCE_MIMETYPE))
|
||||
return Cpp;
|
||||
if (mt == QLatin1String(QmlJSTools::Constants::QML_MIMETYPE)
|
||||
|| mt == QLatin1String(QmlJSTools::Constants::QMLUI_MIMETYPE)
|
||||
|| mt == QLatin1String(QmlJSTools::Constants::QMLPROJECT_MIMETYPE)
|
||||
|| mt == QLatin1String(QmlJSTools::Constants::QBS_MIMETYPE)
|
||||
|| mt == QLatin1String(QmlJSTools::Constants::JS_MIMETYPE)
|
||||
|
||||
@@ -92,6 +92,7 @@ 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[] = "text/x-qml"; // separate def also in qmljstoolsconstants.h
|
||||
const char QMLUI_MIMETYPE[] = "application/x-qt.ui+qml";
|
||||
const char RESOURCE_MIMETYPE[] = "application/vnd.qt.xml.resource";
|
||||
const char SCXML_MIMETYPE[] = "application/scxml+xml";
|
||||
|
||||
|
||||
@@ -290,7 +290,8 @@ FileType Node::fileTypeForMimeType(const Utils::MimeType &mt)
|
||||
type = FileType::Resource;
|
||||
else if (mtName == Constants::SCXML_MIMETYPE)
|
||||
type = FileType::StateChart;
|
||||
else if (mtName == Constants::QML_MIMETYPE)
|
||||
else if (mtName == Constants::QML_MIMETYPE
|
||||
|| mtName == Constants::QMLUI_MIMETYPE)
|
||||
type = FileType::QML;
|
||||
} else {
|
||||
type = FileType::Unknown;
|
||||
|
||||
@@ -912,8 +912,10 @@ QString QmakePriFile::varNameForAdding(const QString &mimeType)
|
||||
if (mimeType == QLatin1String(ProjectExplorer::Constants::FORM_MIMETYPE))
|
||||
return QLatin1String("FORMS");
|
||||
|
||||
if (mimeType == QLatin1String(ProjectExplorer::Constants::QML_MIMETYPE))
|
||||
if (mimeType == QLatin1String(ProjectExplorer::Constants::QML_MIMETYPE)
|
||||
|| mimeType == QLatin1String(ProjectExplorer::Constants::QMLUI_MIMETYPE)) {
|
||||
return QLatin1String("DISTFILES");
|
||||
}
|
||||
|
||||
if (mimeType == QLatin1String(ProjectExplorer::Constants::SCXML_MIMETYPE))
|
||||
return QLatin1String("STATECHARTS");
|
||||
|
||||
@@ -1030,6 +1030,7 @@ QmlJSEditorFactory::QmlJSEditorFactory()
|
||||
setDisplayName(QCoreApplication::translate("OpenWith::Editors", Constants::C_QMLJSEDITOR_DISPLAY_NAME));
|
||||
|
||||
addMimeType(QmlJSTools::Constants::QML_MIMETYPE);
|
||||
addMimeType(QmlJSTools::Constants::QMLUI_MIMETYPE);
|
||||
addMimeType(QmlJSTools::Constants::QMLPROJECT_MIMETYPE);
|
||||
addMimeType(QmlJSTools::Constants::QBS_MIMETYPE);
|
||||
addMimeType(QmlJSTools::Constants::QMLTYPES_MIMETYPE);
|
||||
|
||||
@@ -131,6 +131,7 @@ QmlJSToolsSettings::QmlJSToolsSettings(QObject *parent)
|
||||
|
||||
// mimetypes to be handled
|
||||
TextEditorSettings::registerMimeTypeForLanguageId(Constants::QML_MIMETYPE, Constants::QML_JS_SETTINGS_ID);
|
||||
TextEditorSettings::registerMimeTypeForLanguageId(Constants::QMLUI_MIMETYPE, Constants::QML_JS_SETTINGS_ID);
|
||||
TextEditorSettings::registerMimeTypeForLanguageId(Constants::QBS_MIMETYPE, Constants::QML_JS_SETTINGS_ID);
|
||||
TextEditorSettings::registerMimeTypeForLanguageId(Constants::QMLPROJECT_MIMETYPE, Constants::QML_JS_SETTINGS_ID);
|
||||
TextEditorSettings::registerMimeTypeForLanguageId(Constants::QMLTYPES_MIMETYPE, Constants::QML_JS_SETTINGS_ID);
|
||||
|
||||
@@ -265,9 +265,13 @@ void QmlProjectRunConfiguration::updateEnabledState()
|
||||
Utils::MimeType mainScriptMimeType = Utils::mimeTypeForFile(mainScript());
|
||||
if (document) {
|
||||
m_currentFileFilename = document->filePath().toString();
|
||||
if (mainScriptMimeType.matchesName(QLatin1String(ProjectExplorer::Constants::QML_MIMETYPE)))
|
||||
if (mainScriptMimeType.matchesName(
|
||||
QLatin1String(ProjectExplorer::Constants::QML_MIMETYPE))
|
||||
|| mainScriptMimeType.matchesName(
|
||||
QLatin1String(ProjectExplorer::Constants::QMLUI_MIMETYPE))) {
|
||||
qmlFileFound = true;
|
||||
}
|
||||
}
|
||||
if (!document
|
||||
|| mainScriptMimeType.matchesName(QLatin1String(QmlJSTools::Constants::QMLPROJECT_MIMETYPE))) {
|
||||
// find a qml file with lowercase filename. This is slow, but only done
|
||||
@@ -275,13 +279,16 @@ void QmlProjectRunConfiguration::updateEnabledState()
|
||||
foreach (const QString &filename, target()->project()->files(Project::AllFiles)) {
|
||||
const QFileInfo fi(filename);
|
||||
|
||||
if (!filename.isEmpty() && fi.baseName()[0].isLower()
|
||||
&& Utils::mimeTypeForFile(fi).matchesName(QLatin1String(ProjectExplorer::Constants::QML_MIMETYPE)))
|
||||
{
|
||||
if (!filename.isEmpty() && fi.baseName()[0].isLower()) {
|
||||
Utils::MimeType type = Utils::mimeTypeForFile(fi);
|
||||
if (type.matchesName(QLatin1String(ProjectExplorer::Constants::QML_MIMETYPE))
|
||||
|| type.matchesName(
|
||||
QLatin1String(ProjectExplorer::Constants::QMLUI_MIMETYPE))) {
|
||||
m_currentFileFilename = filename;
|
||||
qmlFileFound = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -113,6 +113,7 @@ static bool hasPriority(const QStringList &files)
|
||||
QString type = Utils::mimeTypeForFile(files.at(0)).name();
|
||||
if (type.startsWith(QLatin1String("image/"))
|
||||
|| type == QLatin1String(QmlJSTools::Constants::QML_MIMETYPE)
|
||||
|| type == QLatin1String(QmlJSTools::Constants::QMLUI_MIMETYPE)
|
||||
|| type == QLatin1String(QmlJSTools::Constants::JS_MIMETYPE))
|
||||
return true;
|
||||
return false;
|
||||
|
||||
Reference in New Issue
Block a user