aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas Hartmann <Thomas.Hartmann@digia.com>2013-05-14 15:35:38 +0200
committerThomas Hartmann <Thomas.Hartmann@digia.com>2013-05-14 15:46:22 +0200
commit5be738e56a5aee4dbd9eb073c3bede2f2ec18a6f (patch)
treec4008ffdfb68ae2baed12ee7dedf1eac62ca549d
parent5624232c619a25a2a3750e21d113b797a0e4e26f (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.cpp14
-rw-r--r--src/plugins/qmldesigner/designercore/metainfo/metainforeader.cpp2
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);