diff options
Diffstat (limited to 'src/declarative/qml')
-rw-r--r-- | src/declarative/qml/qdeclarativecomponent.cpp | 8 | ||||
-rw-r--r-- | src/declarative/qml/qdeclarativecomponent.h | 2 | ||||
-rw-r--r-- | src/declarative/qml/qdeclarativeengine.cpp | 20 | ||||
-rw-r--r-- | src/declarative/qml/qdeclarativeimport.cpp | 4 | ||||
-rw-r--r-- | src/declarative/qml/qdeclarativeimport_p.h | 2 | ||||
-rw-r--r-- | src/declarative/qml/qdeclarativeinclude.cpp | 2 | ||||
-rw-r--r-- | src/declarative/qml/qdeclarativeinstruction.cpp | 1 | ||||
-rw-r--r-- | src/declarative/qml/qdeclarativeproperty.cpp | 36 | ||||
-rw-r--r-- | src/declarative/qml/qdeclarativevaluetypescriptclass.cpp | 2 |
9 files changed, 38 insertions, 39 deletions
diff --git a/src/declarative/qml/qdeclarativecomponent.cpp b/src/declarative/qml/qdeclarativecomponent.cpp index e757675..3f11425 100644 --- a/src/declarative/qml/qdeclarativecomponent.cpp +++ b/src/declarative/qml/qdeclarativecomponent.cpp @@ -246,7 +246,7 @@ QDeclarativeComponent::~QDeclarativeComponent() \o Component.Ready - the component has been loaded, and can be used to create instances. \o Component.Loading - the component is currently being loaded \o Component.Error - an error occurred while loading the component. - Calling errorsString() will provide a human-readable description of any errors. + Calling errorString() will provide a human-readable description of any errors. \endlist */ @@ -492,7 +492,7 @@ QList<QDeclarativeError> QDeclarativeComponent::errors() const } /*! - \qmlmethod string Component::errorsString() + \qmlmethod string Component::errorString() Returns a human-readable description of any errors. @@ -504,9 +504,9 @@ QList<QDeclarativeError> QDeclarativeComponent::errors() const /*! \internal - errorsString is only meant as a way to get the errors in script + errorString is only meant as a way to get the errors in script */ -QString QDeclarativeComponent::errorsString() const +QString QDeclarativeComponent::errorString() const { Q_D(const QDeclarativeComponent); QString ret; diff --git a/src/declarative/qml/qdeclarativecomponent.h b/src/declarative/qml/qdeclarativecomponent.h index 688e233..1d1fca7 100644 --- a/src/declarative/qml/qdeclarativecomponent.h +++ b/src/declarative/qml/qdeclarativecomponent.h @@ -86,7 +86,7 @@ public: bool isLoading() const; QList<QDeclarativeError> errors() const; - Q_INVOKABLE QString errorsString() const; + Q_INVOKABLE QString errorString() const; qreal progress() const; diff --git a/src/declarative/qml/qdeclarativeengine.cpp b/src/declarative/qml/qdeclarativeengine.cpp index 3ab94d3..0a75532 100644 --- a/src/declarative/qml/qdeclarativeengine.cpp +++ b/src/declarative/qml/qdeclarativeengine.cpp @@ -1024,14 +1024,14 @@ QScriptValue QDeclarativeEnginePrivate::createQmlObject(QScriptContext *ctxt, QS foreach (const QDeclarativeError &error, errors){ errstr += QLatin1String(" ") + error.toString() + QLatin1String("\n"); QScriptValue qmlErrObject = ctxt->engine()->newObject(); - qmlErrObject.setProperty("lineNumber", QScriptValue(error.line())); - qmlErrObject.setProperty("columnNumber", QScriptValue(error.column())); - qmlErrObject.setProperty("fileName", QScriptValue(error.url().toString())); - qmlErrObject.setProperty("message", QScriptValue(error.description())); + qmlErrObject.setProperty(QLatin1String("lineNumber"), QScriptValue(error.line())); + qmlErrObject.setProperty(QLatin1String("columnNumber"), QScriptValue(error.column())); + qmlErrObject.setProperty(QLatin1String("fileName"), QScriptValue(error.url().toString())); + qmlErrObject.setProperty(QLatin1String("message"), QScriptValue(error.description())); arr.setProperty(i++, qmlErrObject); } QScriptValue err = ctxt->throwError(errstr); - err.setProperty("qmlErrors",arr); + err.setProperty(QLatin1String("qmlErrors"),arr); return err; } @@ -1051,14 +1051,14 @@ QScriptValue QDeclarativeEnginePrivate::createQmlObject(QScriptContext *ctxt, QS foreach (const QDeclarativeError &error, errors){ errstr += QLatin1String(" ") + error.toString() + QLatin1String("\n"); QScriptValue qmlErrObject = ctxt->engine()->newObject(); - qmlErrObject.setProperty("lineNumber", QScriptValue(error.line())); - qmlErrObject.setProperty("columnNumber", QScriptValue(error.column())); - qmlErrObject.setProperty("fileName", QScriptValue(error.url().toString())); - qmlErrObject.setProperty("message", QScriptValue(error.description())); + qmlErrObject.setProperty(QLatin1String("lineNumber"), QScriptValue(error.line())); + qmlErrObject.setProperty(QLatin1String("columnNumber"), QScriptValue(error.column())); + qmlErrObject.setProperty(QLatin1String("fileName"), QScriptValue(error.url().toString())); + qmlErrObject.setProperty(QLatin1String("message"), QScriptValue(error.description())); arr.setProperty(i++, qmlErrObject); } QScriptValue err = ctxt->throwError(errstr); - err.setProperty("qmlErrors",arr); + err.setProperty(QLatin1String("qmlErrors"),arr); return err; } diff --git a/src/declarative/qml/qdeclarativeimport.cpp b/src/declarative/qml/qdeclarativeimport.cpp index cb36818..0c87671 100644 --- a/src/declarative/qml/qdeclarativeimport.cpp +++ b/src/declarative/qml/qdeclarativeimport.cpp @@ -678,11 +678,11 @@ bool QDeclarativeImportDatabase::resolveType(const QDeclarativeImports& imports, If either return pointer is 0, the corresponding search is not done. */ -void QDeclarativeImportDatabase::resolveTypeInNamespace(QDeclarativeImportedNamespace* ns, const QByteArray& type, +bool QDeclarativeImportDatabase::resolveTypeInNamespace(QDeclarativeImportedNamespace* ns, const QByteArray& type, QDeclarativeType** type_return, QUrl* url_return, int *vmaj, int *vmin) const { - ns->find(type,vmaj,vmin,type_return,url_return); + return ns->find(type,vmaj,vmin,type_return,url_return); } /*! diff --git a/src/declarative/qml/qdeclarativeimport_p.h b/src/declarative/qml/qdeclarativeimport_p.h index 62b0517..88246d4 100644 --- a/src/declarative/qml/qdeclarativeimport_p.h +++ b/src/declarative/qml/qdeclarativeimport_p.h @@ -112,7 +112,7 @@ public: int *version_major, int *version_minor, QDeclarativeImportedNamespace** ns_return, QString *errorString = 0) const; - void resolveTypeInNamespace(QDeclarativeImportedNamespace*, const QByteArray& type, + bool resolveTypeInNamespace(QDeclarativeImportedNamespace*, const QByteArray& type, QDeclarativeType** type_return, QUrl* url_return, int *version_major, int *version_minor ) const; diff --git a/src/declarative/qml/qdeclarativeinclude.cpp b/src/declarative/qml/qdeclarativeinclude.cpp index e37b68b..4cde54b 100644 --- a/src/declarative/qml/qdeclarativeinclude.cpp +++ b/src/declarative/qml/qdeclarativeinclude.cpp @@ -259,8 +259,6 @@ QScriptValue QDeclarativeInclude::worker_include(QScriptContext *ctxt, QScriptEn if (ctxt->argumentCount() == 0) return engine->undefinedValue(); - QDeclarativeEnginePrivate *ep = QDeclarativeEnginePrivate::get(engine); - QString urlString = ctxt->argument(0).toString(); QUrl url(ctxt->argument(0).toString()); if (url.isRelative()) { diff --git a/src/declarative/qml/qdeclarativeinstruction.cpp b/src/declarative/qml/qdeclarativeinstruction.cpp index 0236950..b86d082 100644 --- a/src/declarative/qml/qdeclarativeinstruction.cpp +++ b/src/declarative/qml/qdeclarativeinstruction.cpp @@ -60,6 +60,7 @@ void QDeclarativeCompiledData::dump(QDeclarativeInstruction *instr, int idx) break; case QDeclarativeInstruction::CreateObject: qWarning().nospace() << idx << "\t\t" << line << "\t" << "CREATE\t\t\t" << instr->create.type << "\t\t\t" << types.at(instr->create.type).className; + break; case QDeclarativeInstruction::CreateSimpleObject: qWarning().nospace() << idx << "\t\t" << line << "\t" << "CREATE_SIMPLE\t\t" << instr->createSimple.typeSize; break; diff --git a/src/declarative/qml/qdeclarativeproperty.cpp b/src/declarative/qml/qdeclarativeproperty.cpp index 3881d0a..071dd07 100644 --- a/src/declarative/qml/qdeclarativeproperty.cpp +++ b/src/declarative/qml/qdeclarativeproperty.cpp @@ -1049,26 +1049,24 @@ bool QDeclarativePropertyPrivate::write(QObject *object, const QDeclarativePrope } else { Q_ASSERT(variantType != propertyType); - QVariant v = value; - if (v.convert((QVariant::Type)propertyType)) { - void *a[] = { (void *)v.constData(), 0, &status, &flags}; - QMetaObject::metacall(object, QMetaObject::WriteProperty, coreIdx, a); - } else if ((uint)propertyType >= QVariant::UserType && variantType == QVariant::String) { - QDeclarativeMetaType::StringConverter con = QDeclarativeMetaType::customStringConverter(propertyType); - if (!con) - return false; - - QVariant v = con(value.toString()); - if (v.userType() == propertyType) { - void *a[] = { (void *)v.constData(), 0, &status, &flags}; - QMetaObject::metacall(object, QMetaObject::WriteProperty, coreIdx, a); + bool ok = false; + QVariant v; + if (variantType == QVariant::String) + v = QDeclarativeStringConverters::variantFromString(value.toString(), propertyType, &ok); + if (!ok) { + v = value; + if (v.convert((QVariant::Type)propertyType)) { + ok = true; + } else if ((uint)propertyType >= QVariant::UserType && variantType == QVariant::String) { + QDeclarativeMetaType::StringConverter con = QDeclarativeMetaType::customStringConverter(propertyType); + if (con) { + v = con(value.toString()); + if (v.userType() == propertyType) + ok = true; + } } - } else if (variantType == QVariant::String) { - bool ok = false; - QVariant v = QDeclarativeStringConverters::variantFromString(value.toString(), propertyType, &ok); - if (!ok) - return false; - + } + if (ok) { void *a[] = { (void *)v.constData(), 0, &status, &flags}; QMetaObject::metacall(object, QMetaObject::WriteProperty, coreIdx, a); } else { diff --git a/src/declarative/qml/qdeclarativevaluetypescriptclass.cpp b/src/declarative/qml/qdeclarativevaluetypescriptclass.cpp index cb1f27d..f06d6ae 100644 --- a/src/declarative/qml/qdeclarativevaluetypescriptclass.cpp +++ b/src/declarative/qml/qdeclarativevaluetypescriptclass.cpp @@ -168,6 +168,8 @@ void QDeclarativeValueTypeScriptClass::setProperty(Object *obj, const Identifier ref->type->read(ref->object, ref->property); QMetaProperty p = ref->type->metaObject()->property(m_lastIndex); + if (p.isEnumType() && (QMetaType::Type)v.type() == QMetaType::QReal) + v = v.toInt(); p.write(ref->type, v); ref->type->write(ref->object, ref->property, 0); } else { |