From 33b4b15a60f03b21ce37120f352603dc44160b3f Mon Sep 17 00:00:00 2001 From: Roberto Raggi <roberto.raggi@nokia.com> Date: Mon, 15 Feb 2010 14:07:35 +0100 Subject: [PATCH] Check the file's mimetype before creating QML/JS documents. --- src/plugins/qmljseditor/qmljsmodelmanager.cpp | 21 ++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/src/plugins/qmljseditor/qmljsmodelmanager.cpp b/src/plugins/qmljseditor/qmljsmodelmanager.cpp index 2deaef8fba2..d4d553041d8 100644 --- a/src/plugins/qmljseditor/qmljsmodelmanager.cpp +++ b/src/plugins/qmljseditor/qmljsmodelmanager.cpp @@ -148,6 +148,18 @@ void ModelManager::parse(QFutureInterface<void> &future, future.setProgressValue(i); const QString fileName = files.at(i); + + const QFileInfo fileInfo(fileName); + Core::MimeType fileMimeTy = db->findByFile(fileInfo); + + bool isQmlFile = true; + + if (matchesMimeType(fileMimeTy, jsSourceTy)) + isQmlFile = false; + + else if (! matchesMimeType(fileMimeTy, qmlSourceTy)) + continue; // skip it. it's not a QML or a JS file. + QString contents; int documentRevision = 0; @@ -169,15 +181,10 @@ void ModelManager::parse(QFutureInterface<void> &future, doc->setDocumentRevision(documentRevision); doc->setSource(contents); - const QFileInfo fileInfo(fileName); - Core::MimeType fileMimeTy = db->findByFile(fileInfo); - - if (matchesMimeType(fileMimeTy, jsSourceTy)) - doc->parseJavaScript(); - else if (matchesMimeType(fileMimeTy, qmlSourceTy)) + if (isQmlFile) doc->parseQml(); else - qWarning() << "Don't know how to treat" << fileName; + doc->parseJavaScript(); modelManager->emitDocumentUpdated(doc); } -- GitLab