From 29aa93387b2f5f1c1874e265fa5c6a83543f54fa Mon Sep 17 00:00:00 2001 From: Pekka Vuorela Date: Thu, 20 Oct 2011 15:49:26 +0300 Subject: Multiline editors not to limit anchor position inputMethodQuery The queries were limited to current block, because that is the available surrounding text. Input method side, however, cannot then distinguish between anchor being really at start or end of the surrounding text, or beyond it. Without the limitation there at least is a way to know anchor is at unknown territory. Change-Id: I388d33566388344ec816ea7d86662b7e36a3d7d0 Reviewed-by: Lars Knoll Reviewed-by: Joona Petrell --- tests/auto/widgets/widgets/qtextedit/tst_qtextedit.cpp | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'tests') diff --git a/tests/auto/widgets/widgets/qtextedit/tst_qtextedit.cpp b/tests/auto/widgets/widgets/qtextedit/tst_qtextedit.cpp index 66ded68a7f..d074cca64a 100644 --- a/tests/auto/widgets/widgets/qtextedit/tst_qtextedit.cpp +++ b/tests/auto/widgets/widgets/qtextedit/tst_qtextedit.cpp @@ -203,6 +203,7 @@ private slots: void bidiLogicalMovement(); void inputMethodSelection(); + void inputMethodQuery(); private: void createSelection(); @@ -2386,6 +2387,18 @@ void tst_QTextEdit::inputMethodSelection() QCOMPARE(ed->textCursor().selectionEnd(), 17); } +void tst_QTextEdit::inputMethodQuery() +{ + QString text("first line of text\nsecond line of text"); + ed->setText(text); + ed->selectAll(); + + QInputMethodQueryEvent event(Qt::ImQueryInput); + QGuiApplication::sendEvent(ed, &event); + int anchor = event.value(Qt::ImAnchorPosition).toInt(); + int position = event.value(Qt::ImCursorPosition).toInt(); + QCOMPARE(qAbs(position - anchor), text.length()); +} QTEST_MAIN(tst_QTextEdit) #include "tst_qtextedit.moc" -- cgit v1.2.3