aboutsummaryrefslogtreecommitdiffstats
path: root/src/quick/items/qquicktextinput.cpp
diff options
context:
space:
mode:
authorFabian Kosmale <[email protected]>2025-08-21 16:25:48 +0200
committerFabian Kosmale <[email protected]>2025-08-22 17:02:52 +0200
commit80cdbd66bf6916be42df1373459c957e7309f963 (patch)
treefe0e8314ddfc49d8d7960467f82aa856d1457b43 /src/quick/items/qquicktextinput.cpp
parent0d67aad01c7f4daaf63d416c380c1f61586fd4da (diff)
TextInput: Port away from QQmlV4FunctionPtrHEADdev
There's no reason to add a dependency on V4 internals here, all we need are some default parameters. It's unclear why y is defaulted to 0, but we preserve that behviour. Change-Id: I19752547162cb5da4a2d193f782275dac13cb6ae Reviewed-by: Shawn Rutledge <[email protected]> Reviewed-by: Ulf Hermann <[email protected]>
Diffstat (limited to 'src/quick/items/qquicktextinput.cpp')
-rw-r--r--src/quick/items/qquicktextinput.cpp26
1 files changed, 3 insertions, 23 deletions
diff --git a/src/quick/items/qquicktextinput.cpp b/src/quick/items/qquicktextinput.cpp
index 35d61a52c3..2d69e25533 100644
--- a/src/quick/items/qquicktextinput.cpp
+++ b/src/quick/items/qquicktextinput.cpp
@@ -1464,31 +1464,11 @@ QRectF QQuickTextInput::positionToRectangle(int pos) const
Returns the position before the character that is nearest x.
*/
-void QQuickTextInput::positionAt(QQmlV4FunctionPtr args) const
+int QQuickTextInput::positionAt(qreal x, qreal y, QQuickTextInput::CursorPosition positionQuick) const
{
Q_D(const QQuickTextInput);
- qreal x = 0;
- qreal y = 0;
- QTextLine::CursorPosition position = QTextLine::CursorBetweenCharacters;
-
- if (args->length() < 1)
- return;
-
- int i = 0;
- QV4::Scope scope(args->v4engine());
- QV4::ScopedValue arg(scope, (*args)[0]);
- x = arg->toNumber();
-
- if (++i < args->length()) {
- arg = (*args)[i];
- y = arg->toNumber();
- }
-
- if (++i < args->length()) {
- arg = (*args)[i];
- position = QTextLine::CursorPosition(arg->toInt32());
- }
+ QTextLine::CursorPosition position = QTextLine::CursorPosition(positionQuick);
int pos = d->positionAt(x, y, position);
const int cursor = d->m_cursor;
@@ -1502,7 +1482,7 @@ void QQuickTextInput::positionAt(QQmlV4FunctionPtr args) const
pos = cursor;
#endif
}
- args->setReturnValue(QV4::Encode(pos));
+ return pos;
}
int QQuickTextInputPrivate::positionAt(qreal x, qreal y, QTextLine::CursorPosition position) const