summaryrefslogtreecommitdiffstats
path: root/src/declarative/qml
diff options
context:
space:
mode:
authorAaron Kennedy <aaron.kennedy@nokia.com>2010-01-12 03:33:33 (GMT)
committerAaron Kennedy <aaron.kennedy@nokia.com>2010-01-12 03:33:33 (GMT)
commit3e8e08b656d7e4826db6c062c7abe94d57ecfc3a (patch)
tree65cd29703114770c05a4fd9078fd23f8a8280ba8 /src/declarative/qml
parentc39bdb7d3550f9cba4af5ca2c3fe523c9297db48 (diff)
parentb328136a920ec57ca13db5a39310293c4eaef27c (diff)
downloadQt-3e8e08b656d7e4826db6c062c7abe94d57ecfc3a.zip
Qt-3e8e08b656d7e4826db6c062c7abe94d57ecfc3a.tar.gz
Qt-3e8e08b656d7e4826db6c062c7abe94d57ecfc3a.tar.bz2
Merge branch 'kinetic-declarativeui' of scm.dev.nokia.troll.no:qt/kinetic into kinetic-declarativeui
Diffstat (limited to 'src/declarative/qml')
-rw-r--r--src/declarative/qml/qmlcompositetypemanager.cpp24
-rw-r--r--src/declarative/qml/qmlcompositetypemanager_p.h4
-rw-r--r--src/declarative/qml/qmlengine.cpp4
3 files changed, 19 insertions, 13 deletions
diff --git a/src/declarative/qml/qmlcompositetypemanager.cpp b/src/declarative/qml/qmlcompositetypemanager.cpp
index 1613051..22f2df3 100644
--- a/src/declarative/qml/qmlcompositetypemanager.cpp
+++ b/src/declarative/qml/qmlcompositetypemanager.cpp
@@ -55,6 +55,12 @@
QT_BEGIN_NAMESPACE
+inline uint qHash(const QUrl &uri)
+{
+ return qHash(uri.toEncoded(QUrl::FormattingOption(0x100)));
+}
+
+
QmlCompositeTypeData::QmlCompositeTypeData()
: status(Invalid), errorType(NoError), component(0), compiledComponent(0)
{
@@ -165,14 +171,14 @@ QmlCompositeTypeManager::~QmlCompositeTypeManager()
QmlCompositeTypeData *QmlCompositeTypeManager::get(const QUrl &url)
{
- QmlCompositeTypeData *unit = components.value(url.toString());
+ QmlCompositeTypeData *unit = components.value(url);
if (!unit) {
unit = new QmlCompositeTypeData;
unit->status = QmlCompositeTypeData::Waiting;
unit->progress = 0.0;
unit->imports.setBaseUrl(url);
- components.insert(url.toString(), unit);
+ components.insert(url, unit);
loadSource(unit);
}
@@ -216,7 +222,7 @@ void QmlCompositeTypeManager::replyFinished()
{
QNetworkReply *reply = static_cast<QNetworkReply *>(sender());
- QmlCompositeTypeData *unit = components.value(reply->url().toString());
+ QmlCompositeTypeData *unit = components.value(reply->url());
Q_ASSERT(unit);
if (reply->error() != QNetworkReply::NoError) {
@@ -246,7 +252,7 @@ void QmlCompositeTypeManager::resourceReplyFinished()
{
QNetworkReply *reply = static_cast<QNetworkReply *>(sender());
- QmlCompositeTypeResource *resource = resources.value(reply->url().toString());
+ QmlCompositeTypeResource *resource = resources.value(reply->url());
Q_ASSERT(resource);
if (reply->error() != QNetworkReply::NoError) {
@@ -337,7 +343,7 @@ void QmlCompositeTypeManager::requestProgress(qint64 received, qint64 total)
return;
QNetworkReply *reply = static_cast<QNetworkReply *>(sender());
- QmlCompositeTypeData *unit = components.value(reply->url().toString());
+ QmlCompositeTypeData *unit = components.value(reply->url());
Q_ASSERT(unit);
unit->progress = qreal(received)/total;
@@ -523,13 +529,13 @@ int QmlCompositeTypeManager::resolveTypes(QmlCompositeTypeData *unit)
continue;
}
- QmlCompositeTypeData *urlUnit = components.value(url.toString());
+ QmlCompositeTypeData *urlUnit = components.value(url);
if (!urlUnit) {
urlUnit = new QmlCompositeTypeData;
urlUnit->status = QmlCompositeTypeData::Waiting;
urlUnit->imports.setBaseUrl(url);
- components.insert(url.toString(), urlUnit);
+ components.insert(url, urlUnit);
loadSource(urlUnit);
}
@@ -591,13 +597,13 @@ void QmlCompositeTypeManager::compile(QmlCompositeTypeData *unit)
for (int ii = 0; ii < resourceList.count(); ++ii) {
QUrl url = unit->imports.baseUrl().resolved(resourceList.at(ii));
- QmlCompositeTypeResource *resource = resources.value(url.toString());
+ QmlCompositeTypeResource *resource = resources.value(url);
if (!resource) {
resource = new QmlCompositeTypeResource;
resource->status = QmlCompositeTypeResource::Waiting;
resource->url = url.toString();
- resources.insert(resource->url, resource);
+ resources.insert(url, resource);
loadResource(resource);
}
diff --git a/src/declarative/qml/qmlcompositetypemanager_p.h b/src/declarative/qml/qmlcompositetypemanager_p.h
index 0169bff..89e2353 100644
--- a/src/declarative/qml/qmlcompositetypemanager_p.h
+++ b/src/declarative/qml/qmlcompositetypemanager_p.h
@@ -105,9 +105,9 @@ private:
int resolveTypes(QmlCompositeTypeData *);
QmlEngine *engine;
- typedef QHash<QString, QmlCompositeTypeData *> Components;
+ typedef QHash<QUrl, QmlCompositeTypeData *> Components;
Components components;
- typedef QHash<QString, QmlCompositeTypeResource *> Resources;
+ typedef QHash<QUrl, QmlCompositeTypeResource *> Resources;
Resources resources;
};
diff --git a/src/declarative/qml/qmlengine.cpp b/src/declarative/qml/qmlengine.cpp
index aca3f76..8d78cc7 100644
--- a/src/declarative/qml/qmlengine.cpp
+++ b/src/declarative/qml/qmlengine.cpp
@@ -667,7 +667,7 @@ QScriptValue QmlEnginePrivate::createComponent(QScriptContext *ctxt,
QString arg = ctxt->argument(0).toString();
if (arg.isEmpty())
return engine->nullValue();
- QUrl url = QUrl(context->resolvedUrl(arg));
+ QUrl url = QUrl(context->resolvedUrl(QUrl(arg)));
QmlComponent *c = new QmlComponent(activeEngine, url, activeEngine);
c->setCreationContext(context);
return activeEnginePriv->objectClass->newQObject(c, qMetaTypeId<QmlComponent*>());
@@ -1135,7 +1135,7 @@ struct QmlEnginePrivate::ImportedNamespace {
if (mapvmaj<vmaj || vmin >= mapversions.mid(dot+1).toInt()) {
QStringRef mapfile = space2<0 ? QStringRef() : line.midRef(space2+1,line.length()-space2-1);
if (url_return)
- *url_return = url.resolved(mapfile.toString());
+ *url_return = url.resolved(QUrl(mapfile.toString()));
return true;
}
}