forked from qt-creator/qt-creator
Check the file's mimetype before creating QML/JS documents.
This commit is contained in:
@@ -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);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user