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;
|
||||
|
||||
// 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;
|
||||
attributes.append(
|
||||
QInputMethodEvent::Attribute(QInputMethodEvent::Selection, localCursorPos, 0));
|
||||
QInputMethodEvent event(QString(), attributes);
|
||||
event.setCommitString(m_composingText);
|
||||
sendInputMethodEvent(&event);
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
@ -1595,44 +1595,14 @@ void tst_QLineEdit::textMask()
|
||||
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()
|
||||
{
|
||||
QLineEdit *testWidget = ensureTestWidget();
|
||||
{
|
||||
QSignalSpy editedSpy(testWidget, &QLineEdit::textEdited);
|
||||
QSignalSpy changedSpy(testWidget, &QLineEdit::textChanged);
|
||||
QSignalSpy editedSpy(testWidget, SIGNAL(textEdited(QString)));
|
||||
QSignalSpy changedSpy(testWidget, SIGNAL(textChanged(QString)));
|
||||
testWidget->setText("hello");
|
||||
QCOMPARE(editedSpy.size(), 0);
|
||||
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()
|
||||
|
Loading…
x
Reference in New Issue
Block a user