diff options
author | Thomas Hartmann <Thomas.Hartmann@digia.com> | 2013-05-14 15:35:38 +0200 |
---|---|---|
committer | Thomas Hartmann <Thomas.Hartmann@digia.com> | 2013-05-14 15:46:22 +0200 |
commit | 5be738e56a5aee4dbd9eb073c3bede2f2ec18a6f (patch) | |
tree | c4008ffdfb68ae2baed12ee7dedf1eac62ca549d | |
parent | 5624232c619a25a2a3750e21d113b797a0e4e26f (diff) |
QmlDesigner.ItemLibrary: Allow non qrc source files
Source files can also be local files relative to the
.metainfo file.
Change-Id: I8b5519a1bf42808a1bfa744b7520fc910eb2aeac
Reviewed-by: Marco Bubke <marco.bubke@digia.com>
-rw-r--r-- | src/plugins/qmldesigner/designercore/metainfo/itemlibraryinfo.cpp | 14 | ||||
-rw-r--r-- | src/plugins/qmldesigner/designercore/metainfo/metainforeader.cpp | 2 |
2 files changed, 14 insertions, 2 deletions
diff --git a/src/plugins/qmldesigner/designercore/metainfo/itemlibraryinfo.cpp b/src/plugins/qmldesigner/designercore/metainfo/itemlibraryinfo.cpp index 4b45412555..023590bd0c 100644 --- a/src/plugins/qmldesigner/designercore/metainfo/itemlibraryinfo.cpp +++ b/src/plugins/qmldesigner/designercore/metainfo/itemlibraryinfo.cpp @@ -188,10 +188,22 @@ void ItemLibraryEntry::setIconPath(const QString &iconPath) m_data->iconPath = iconPath; } +static QString getSourceForUrl(const QString &fileURl) +{ + Utils::FileReader fileReader; + + if (fileReader.fetch(fileURl)) { + return fileReader.data(); + } else { + return Utils::FileReader::fetchQrc(fileURl); + } +} + void ItemLibraryEntry::setQml(const QString &qml) { m_data->qml = qml; - m_data->qmlSource = Utils::FileReader::fetchQrc(qml); + + m_data->qmlSource = getSourceForUrl(qml); } void ItemLibraryEntry::setRequiredImport(const QString &requiredImport) diff --git a/src/plugins/qmldesigner/designercore/metainfo/metainforeader.cpp b/src/plugins/qmldesigner/designercore/metainfo/metainforeader.cpp index 77fc504bb2..e512185c96 100644 --- a/src/plugins/qmldesigner/designercore/metainfo/metainforeader.cpp +++ b/src/plugins/qmldesigner/designercore/metainfo/metainforeader.cpp @@ -255,7 +255,7 @@ void MetaInfoReader::readPropertyProperty(const QString &name, const QVariant &v void MetaInfoReader::readQmlSourceProperty(const QString &name, const QVariant &value) { if (name == QLatin1String("source")) { - m_currentEntry.setQml(value.toString()); + m_currentEntry.setQml(absoluteFilePathForDocument(value.toString())); } else { addError(tr("Unknown property for QmlSource %1").arg(name), currentSourceLocation()); setParserState(Error); |