Check the file's mimetype before creating QML/JS documents.

This commit is contained in:
Roberto Raggi
2010-02-15 14:07:35 +01:00
parent 4b76d828f7
commit 33b4b15a60

View File

@@ -148,6 +148,18 @@ void ModelManager::parse(QFutureInterface<void> &future,
future.setProgressValue(i); future.setProgressValue(i);
const QString fileName = files.at(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; QString contents;
int documentRevision = 0; int documentRevision = 0;
@@ -169,15 +181,10 @@ void ModelManager::parse(QFutureInterface<void> &future,
doc->setDocumentRevision(documentRevision); doc->setDocumentRevision(documentRevision);
doc->setSource(contents); doc->setSource(contents);
const QFileInfo fileInfo(fileName); if (isQmlFile)
Core::MimeType fileMimeTy = db->findByFile(fileInfo);
if (matchesMimeType(fileMimeTy, jsSourceTy))
doc->parseJavaScript();
else if (matchesMimeType(fileMimeTy, qmlSourceTy))
doc->parseQml(); doc->parseQml();
else else
qWarning() << "Don't know how to treat" << fileName; doc->parseJavaScript();
modelManager->emitDocumentUpdated(doc); modelManager->emitDocumentUpdated(doc);
} }