diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/quick/items/qquicktextinput.cpp | 26 | ||||
-rw-r--r-- | src/quick/items/qquicktextinput_p.h | 2 |
2 files changed, 4 insertions, 24 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 diff --git a/src/quick/items/qquicktextinput_p.h b/src/quick/items/qquicktextinput_p.h index 24a3350b96..3c013c6bbf 100644 --- a/src/quick/items/qquicktextinput_p.h +++ b/src/quick/items/qquicktextinput_p.h @@ -146,7 +146,7 @@ public: Q_ENUM(RenderType) //Auxilliary functions needed to control the TextInput from QML - Q_INVOKABLE void positionAt(QQmlV4FunctionPtr args) const; + Q_INVOKABLE int positionAt(qreal x, qreal y = 0, QQuickTextInput::CursorPosition position = QQuickTextInput::CursorBetweenCharacters) const; Q_INVOKABLE QRectF positionToRectangle(int pos) const; Q_INVOKABLE void moveCursorSelection(int pos); Q_INVOKABLE void moveCursorSelection(int pos, QQuickTextInput::SelectionMode mode); |