diff options
author | Aaron Kennedy <aaron.kennedy@nokia.com> | 2009-05-11 06:42:58 (GMT) |
---|---|---|
committer | Aaron Kennedy <aaron.kennedy@nokia.com> | 2009-05-11 06:42:58 (GMT) |
commit | 4b474ca66f17d9c6a97fbfa521fcfeb68aa977e1 (patch) | |
tree | f953a8b2d3114105627a0b8311c477b40f32fd5e | |
parent | bb37512280e5710c1c395056bbecf4f0e4289fb9 (diff) | |
parent | 53ef297f1292fd5783d619cff7925c919585671f (diff) | |
download | Qt-4b474ca66f17d9c6a97fbfa521fcfeb68aa977e1.zip Qt-4b474ca66f17d9c6a97fbfa521fcfeb68aa977e1.tar.gz Qt-4b474ca66f17d9c6a97fbfa521fcfeb68aa977e1.tar.bz2 |
Merge branch 'kinetic-declarativeui' of git@scm.dev.nokia.troll.no:qt/kinetic into kinetic-declarativeui
-rw-r--r-- | src/declarative/util/qmlscript.cpp | 21 |
1 files changed, 16 insertions, 5 deletions
diff --git a/src/declarative/util/qmlscript.cpp b/src/declarative/util/qmlscript.cpp index 7e33502..d986b7a 100644 --- a/src/declarative/util/qmlscript.cpp +++ b/src/declarative/util/qmlscript.cpp @@ -152,11 +152,22 @@ void QmlScript::setSource(const QString &source) return; d->source = source; d->url = qmlContext(this)->resolvedUrl(source); - QNetworkRequest req(d->url); - req.setAttribute(QNetworkRequest::CacheLoadControlAttribute, QNetworkRequest::PreferCache); - d->reply = qmlEngine(this)->networkAccessManager()->get(req); - QObject::connect(d->reply, SIGNAL(finished()), - this, SLOT(replyFinished())); + +#ifndef QT_NO_LOCALFILE_OPTIMIZED_QML + if (d->url.scheme() == QLatin1String("file")) { + QFile file(d->url.toLocalFile()); + file.open(QIODevice::ReadOnly); + QByteArray ba = file.readAll(); + d->addScriptToEngine(QString::fromUtf8(ba), d->source); + } else +#endif + { + QNetworkRequest req(d->url); + req.setAttribute(QNetworkRequest::CacheLoadControlAttribute, QNetworkRequest::PreferCache); + d->reply = qmlEngine(this)->networkAccessManager()->get(req); + QObject::connect(d->reply, SIGNAL(finished()), + this, SLOT(replyFinished())); + } } void QmlScript::replyFinished() |