diff options
Diffstat (limited to 'src/qml/util/qqmladaptormodel.cpp')
-rw-r--r-- | src/qml/util/qqmladaptormodel.cpp | 34 |
1 files changed, 18 insertions, 16 deletions
diff --git a/src/qml/util/qqmladaptormodel.cpp b/src/qml/util/qqmladaptormodel.cpp index ffd9de0e16..9812e2a4a6 100644 --- a/src/qml/util/qqmladaptormodel.cpp +++ b/src/qml/util/qqmladaptormodel.cpp @@ -63,13 +63,13 @@ public: V8_DEFINE_EXTENSION(QQmlAdaptorModelEngineData, engineData) -static QV4::Value get_index(QV4::SimpleCallContext *ctx) +static QV4::ReturnedValue get_index(QV4::SimpleCallContext *ctx) { QQmlDelegateModelItemObject *o = ctx->thisObject.as<QQmlDelegateModelItemObject>(); if (!o) ctx->throwTypeError(QStringLiteral("Not a valid VisualData object")); - return QV4::Value::fromInt32(o->item->index); + return QV4::Encode(o->item->index); } template <typename T, typename M> static void setModelDataType(QMetaObjectBuilder *builder, M *metaType) @@ -107,8 +107,8 @@ public: void setValue(const QString &role, const QVariant &value); bool resolveIndex(const QQmlAdaptorModel &model, int idx); - static QV4::Value get_property(QV4::SimpleCallContext *ctx, uint propertyId); - static QV4::Value set_property(QV4::SimpleCallContext *ctx, uint propertyId); + static QV4::ReturnedValue get_property(QV4::SimpleCallContext *ctx, uint propertyId); + static QV4::ReturnedValue set_property(QV4::SimpleCallContext *ctx, uint propertyId); VDMModelDelegateDataType *type; QVector<QVariant> cachedData; @@ -194,7 +194,7 @@ public: dataType->watchedRoles += newRoles; } - static QV4::Value get_hasModelChildren(QV4::SimpleCallContext *ctx) + static QV4::ReturnedValue get_hasModelChildren(QV4::SimpleCallContext *ctx) { QQmlDelegateModelItemObject *o = ctx->thisObject.as<QQmlDelegateModelItemObject>(); if (!o) @@ -203,9 +203,9 @@ public: const QQmlAdaptorModel *const model = static_cast<QQmlDMCachedModelData *>(o->item)->type->model; if (o->item->index >= 0 && *model) { const QAbstractItemModel * const aim = model->aim(); - return QV4::Value::fromBoolean(aim->hasChildren(aim->index(o->item->index, 0, model->rootIndex))); + return QV4::Encode(aim->hasChildren(aim->index(o->item->index, 0, model->rootIndex))); } else { - return QV4::Value::fromBoolean(false); + return QV4::Encode(false); } } @@ -341,7 +341,7 @@ bool QQmlDMCachedModelData::resolveIndex(const QQmlAdaptorModel &, int idx) } } -QV4::Value QQmlDMCachedModelData::get_property(QV4::SimpleCallContext *ctx, uint propertyId) +QV4::ReturnedValue QQmlDMCachedModelData::get_property(QV4::SimpleCallContext *ctx, uint propertyId) { QQmlDelegateModelItemObject *o = ctx->thisObject.as<QQmlDelegateModelItemObject>(); if (!o) @@ -357,10 +357,10 @@ QV4::Value QQmlDMCachedModelData::get_property(QV4::SimpleCallContext *ctx, uint return ctx->engine->v8Engine->fromVariant( modelData->value(modelData->type->propertyRoles.at(propertyId))); } - return QV4::Value::undefinedValue(); + return QV4::Encode::undefined(); } -QV4::Value QQmlDMCachedModelData::set_property(QV4::SimpleCallContext *ctx, uint propertyId) +QV4::ReturnedValue QQmlDMCachedModelData::set_property(QV4::SimpleCallContext *ctx, uint propertyId) { QQmlDelegateModelItemObject *o = ctx->thisObject.as<QQmlDelegateModelItemObject>(); if (!o) @@ -381,6 +381,7 @@ QV4::Value QQmlDMCachedModelData::set_property(QV4::SimpleCallContext *ctx, uint } } } + return QV4::Encode::undefined(); } //----------------------------------------------------------------- @@ -421,7 +422,7 @@ public: type->model->aim()->index(index, 0, type->model->rootIndex), value, role); } - QV4::Value get() + QV4::ReturnedValue get() { if (type->prototype.isEmpty()) { QQmlAdaptorModelEngineData * const data = engineData(v4->v8Engine); @@ -432,7 +433,7 @@ public: o->setPrototype(proto); QV4::Value data = QV4::Value::fromObject(o); ++scriptRef; - return data; + return data.asReturnedValue(); } }; @@ -578,7 +579,7 @@ public: } } - static QV4::Value get_modelData(QV4::SimpleCallContext *ctx) + static QV4::ReturnedValue get_modelData(QV4::SimpleCallContext *ctx) { QQmlDelegateModelItemObject *o = ctx->thisObject.as<QQmlDelegateModelItemObject>(); if (!o) @@ -587,7 +588,7 @@ public: return ctx->engine->v8Engine->fromVariant(static_cast<QQmlDMListAccessorData *>(o->item)->cachedData); } - static QV4::Value set_modelData(QV4::SimpleCallContext *ctx) + static QV4::ReturnedValue set_modelData(QV4::SimpleCallContext *ctx) { QQmlDelegateModelItemObject *o = ctx->thisObject.as<QQmlDelegateModelItemObject>(); if (!o) @@ -596,16 +597,17 @@ public: ctx->throwTypeError(); static_cast<QQmlDMListAccessorData *>(o->item)->setModelData(ctx->engine->v8Engine->toVariant(ctx->arguments[0], QVariant::Invalid)); + return QV4::Encode::undefined(); } - QV4::Value get() + QV4::ReturnedValue get() { QQmlAdaptorModelEngineData *data = engineData(v4->v8Engine); QV4::Object *o = new (v4->memoryManager) QQmlDelegateModelItemObject(v4, this); o->setPrototype(data->listItemProto.value().asObject()); QV4::Value val = QV4::Value::fromObject(o); ++scriptRef; - return val; + return val.asReturnedValue(); } void setValue(const QString &role, const QVariant &value) |