Removed private header dependencies and introduced loading QML types from XML file.

This commit is contained in:
Erik Verbruggen
2010-03-01 13:01:05 +01:00
parent 079897f295
commit 13d7612f09
13 changed files with 3635 additions and 388 deletions

View File

@@ -35,14 +35,18 @@
#include <coreplugin/editormanager/editormanager.h>
#include <coreplugin/progressmanager/progressmanager.h>
#include <coreplugin/mimedatabase.h>
#include <qmljs/qmljsinterpreter.h>
#include <texteditor/itexteditor.h>
#include <QDir>
#include <QFile>
#include <QFileInfo>
#include <QtConcurrentRun>
#include <qtconcurrent/runextensions.h>
#include <QTextStream>
#include <QDebug>
using namespace QmlJS;
using namespace QmlJSEditor;
using namespace QmlJSEditor::Internal;
@@ -57,6 +61,22 @@ ModelManager::ModelManager(QObject *parent):
connect(this, SIGNAL(documentUpdated(QmlJS::Document::Ptr)),
this, SLOT(onDocumentUpdated(QmlJS::Document::Ptr)));
loadQmlTypeDescriptions();
}
void ModelManager::loadQmlTypeDescriptions()
{
const QString resourcePath = Core::ICore::instance()->resourcePath();
const QDir typeFileDir(resourcePath + QLatin1String("/qml-type-descriptions"));
const QStringList xmlExtensions = QStringList() << QLatin1String("*.xml");
const QFileInfoList xmlFiles = typeFileDir.entryInfoList(xmlExtensions,
QDir::Files,
QDir::Name);
const QStringList errors = Interpreter::MetaTypeSystem::load(xmlFiles);
foreach (const QString &error, errors)
qWarning() << qPrintable(error);
}
Snapshot ModelManager::snapshot() const

View File

@@ -82,6 +82,8 @@ protected:
QStringList files,
ModelManager *modelManager);
void loadQmlTypeDescriptions();
private:
static bool matchesMimeType(const Core::MimeType &fileMimeType, const Core::MimeType &knownMimeType);