aboutsummaryrefslogtreecommitdiffstats
path: root/src/quick/items/qquickdroparea.cpp
diff options
context:
space:
mode:
authorFabian Kosmale <fabian.kosmale@qt.io>2021-10-01 15:24:25 +0200
committerFabian Kosmale <fabian.kosmale@qt.io>2021-10-05 09:00:22 +0200
commit336165122406e457206f72466b3e5d4e4fbce508 (patch)
tree160175339c9ca64cb7632b96d2154a80fb562592 /src/quick/items/qquickdroparea.cpp
parent5fe9401342cd821ea3c43babf1ae8c4befb1201d (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.cpp21
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 *)