Revert "QAndroidPlatformInputContext: send composition text and cursor jointly"
This reverts commit be3b9b2ab12f664c196d649e8c4247d70805d667. Reason for revert: Caused QTBUG-121561 Fixes: QTBUG-121561 Pick-to: 6.6 6.5 6.2 Change-Id: I4b59d97ede6c50d2575a7d7cebbe2291983dd19f Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io> (cherry picked from commit 46502f9705634f02626ee1057975463d1c0ae1f8) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
This commit is contained in:
parent
d50746ef3a
commit
c76dd919fd
@ -1194,13 +1194,21 @@ bool QAndroidInputContext::focusObjectStopComposing()
|
|||||||
|
|
||||||
m_composingCursor = -1;
|
m_composingCursor = -1;
|
||||||
|
|
||||||
// commit composing text and cursor position
|
{
|
||||||
|
// commit the composing test
|
||||||
|
QList<QInputMethodEvent::Attribute> attributes;
|
||||||
|
QInputMethodEvent event(QString(), attributes);
|
||||||
|
event.setCommitString(m_composingText);
|
||||||
|
sendInputMethodEvent(&event);
|
||||||
|
}
|
||||||
|
{
|
||||||
|
// Moving Qt's cursor to where the preedit cursor used to be
|
||||||
QList<QInputMethodEvent::Attribute> attributes;
|
QList<QInputMethodEvent::Attribute> attributes;
|
||||||
attributes.append(
|
attributes.append(
|
||||||
QInputMethodEvent::Attribute(QInputMethodEvent::Selection, localCursorPos, 0));
|
QInputMethodEvent::Attribute(QInputMethodEvent::Selection, localCursorPos, 0));
|
||||||
QInputMethodEvent event(QString(), attributes);
|
QInputMethodEvent event(QString(), attributes);
|
||||||
event.setCommitString(m_composingText);
|
|
||||||
sendInputMethodEvent(&event);
|
sendInputMethodEvent(&event);
|
||||||
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -1595,44 +1595,14 @@ void tst_QLineEdit::textMask()
|
|||||||
QCOMPARE( testWidget->text(), insertString );
|
QCOMPARE( testWidget->text(), insertString );
|
||||||
}
|
}
|
||||||
|
|
||||||
class LineEditChangingText : public QLineEdit
|
|
||||||
{
|
|
||||||
Q_OBJECT
|
|
||||||
|
|
||||||
public:
|
|
||||||
LineEditChangingText(QWidget *parent) : QLineEdit(parent)
|
|
||||||
{
|
|
||||||
connect(this, &QLineEdit::textEdited, this, &LineEditChangingText::onTextEdited);
|
|
||||||
}
|
|
||||||
|
|
||||||
public slots:
|
|
||||||
void onTextEdited(const QString &text)
|
|
||||||
{
|
|
||||||
if (text.length() == 3)
|
|
||||||
setText(text + "-");
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
void tst_QLineEdit::setText()
|
void tst_QLineEdit::setText()
|
||||||
{
|
{
|
||||||
QLineEdit *testWidget = ensureTestWidget();
|
QLineEdit *testWidget = ensureTestWidget();
|
||||||
{
|
QSignalSpy editedSpy(testWidget, SIGNAL(textEdited(QString)));
|
||||||
QSignalSpy editedSpy(testWidget, &QLineEdit::textEdited);
|
QSignalSpy changedSpy(testWidget, SIGNAL(textChanged(QString)));
|
||||||
QSignalSpy changedSpy(testWidget, &QLineEdit::textChanged);
|
|
||||||
testWidget->setText("hello");
|
testWidget->setText("hello");
|
||||||
QCOMPARE(editedSpy.size(), 0);
|
QCOMPARE(editedSpy.size(), 0);
|
||||||
QCOMPARE(changedSpy.value(0).value(0).toString(), QString("hello"));
|
QCOMPARE(changedSpy.value(0).value(0).toString(), QString("hello"));
|
||||||
}
|
|
||||||
|
|
||||||
QTestEventList keys;
|
|
||||||
keys.addKeyClick(Qt::Key_A);
|
|
||||||
keys.addKeyClick(Qt::Key_B);
|
|
||||||
keys.addKeyClick(Qt::Key_C);
|
|
||||||
|
|
||||||
LineEditChangingText lineEdit(nullptr);
|
|
||||||
keys.simulate(&lineEdit);
|
|
||||||
QCOMPARE(lineEdit.text(), "abc-");
|
|
||||||
QCOMPARE(lineEdit.cursorPosition(), 4);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void tst_QLineEdit::displayText_data()
|
void tst_QLineEdit::displayText_data()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user