diff options
author | Fabian Kosmale <fabian.kosmale@qt.io> | 2021-10-01 15:24:25 +0200 |
---|---|---|
committer | Fabian Kosmale <fabian.kosmale@qt.io> | 2021-10-05 09:00:22 +0200 |
commit | 336165122406e457206f72466b3e5d4e4fbce508 (patch) | |
tree | 160175339c9ca64cb7632b96d2154a80fb562592 /src/quick/items/qquickdroparea.cpp | |
parent | 5fe9401342cd821ea3c43babf1ae8c4befb1201d (diff) |
QQuickDragEvent: Use proper types instead of QQmlV4Function
With QQmlV4Function we have no information at compile time about what
a arguments a function expects, and what it returns. Considering that
getDataAsString does not actually have an overload set, but simply
expects and returns a string, we can change to QString types. For
non-QString parameters, the engine will then transparently take care of
converting them.
The same applies to getDataAsArrayBuffer and QByteArray/ArrayBuffer.
Change-Id: I007796c3c01a6f021babd0dff2832506c7c63c30
Reviewed-by: Maximilian Goldstein <max.goldstein@qt.io>
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Diffstat (limited to 'src/quick/items/qquickdroparea.cpp')
-rw-r--r-- | src/quick/items/qquickdroparea.cpp | 21 |
1 files changed, 4 insertions, 17 deletions
diff --git a/src/quick/items/qquickdroparea.cpp b/src/quick/items/qquickdroparea.cpp index 077574cbd1..3547f20925 100644 --- a/src/quick/items/qquickdroparea.cpp +++ b/src/quick/items/qquickdroparea.cpp @@ -572,27 +572,14 @@ QStringList QQuickDragEvent::formats() const return event->mimeData()->formats(); } -void QQuickDragEvent::getDataAsString(QQmlV4Function *args) +QString QQuickDragEvent::getDataAsString(const QString &format) const { - if (args->length() != 0) { - QV4::ExecutionEngine *v4 = args->v4engine(); - QV4::Scope scope(v4); - QV4::ScopedValue v(scope, (*args)[0]); - QString format = v->toQString(); - QString rv = QString::fromUtf8(event->mimeData()->data(format)); - args->setReturnValue(v4->newString(rv)->asReturnedValue()); - } + return QString::fromUtf8(event->mimeData()->data(format)); } -void QQuickDragEvent::getDataAsArrayBuffer(QQmlV4Function *args) +QByteArray QQuickDragEvent::getDataAsArrayBuffer(const QString &format) const { - if (args->length() != 0) { - QV4::ExecutionEngine *v4 = args->v4engine(); - QV4::Scope scope(v4); - QV4::ScopedValue v(scope, (*args)[0]); - const QString format = v->toQString(); - args->setReturnValue(v4->newArrayBuffer(event->mimeData()->data(format))->asReturnedValue()); - } + return event->mimeData()->data(format); } void QQuickDragEvent::acceptProposedAction(QQmlV4Function *) |