From: Tasuku Suzuki Date: Mon, 21 May 2012 18:05:00 +0000 (+0900) Subject: Fixed QLineEdit::inputMethodQuery() for Qt::ImHints X-Git-Tag: 071012110112~866 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=8b78b3a620fac8e7c2219b0a2c3feda9857848fd;p=profile%2Fivi%2Fqtbase.git Fixed QLineEdit::inputMethodQuery() for Qt::ImHints It should return QWidget::inputMethodHints() instead of QVariant() Change-Id: I01f5de8f2087ac67d125f54f08abed523653eb92 Reviewed-by: Joona Petrell --- diff --git a/src/widgets/widgets/qlineedit.cpp b/src/widgets/widgets/qlineedit.cpp index cd3019b..a74c529 100644 --- a/src/widgets/widgets/qlineedit.cpp +++ b/src/widgets/widgets/qlineedit.cpp @@ -1682,7 +1682,7 @@ QVariant QLineEdit::inputMethodQuery(Qt::InputMethodQuery property) const else return QVariant(d->control->selectionStart()); default: - return QVariant(); + return QWidget::inputMethodQuery(property); } } diff --git a/tests/auto/widgets/widgets/qlineedit/tst_qlineedit.cpp b/tests/auto/widgets/widgets/qlineedit/tst_qlineedit.cpp index 91827ec..7fe71b0 100644 --- a/tests/auto/widgets/widgets/qlineedit/tst_qlineedit.cpp +++ b/tests/auto/widgets/widgets/qlineedit/tst_qlineedit.cpp @@ -283,6 +283,9 @@ private slots: void inputMethod(); void inputMethodSelection(); + void inputMethodQueryImHints_data(); + void inputMethodQueryImHints(); + protected slots: void editingFinished(); @@ -3924,6 +3927,24 @@ void tst_QLineEdit::inputMethodSelection() QCOMPARE(selectionSpy.count(), 3); } +Q_DECLARE_METATYPE(Qt::InputMethodHints) +void tst_QLineEdit::inputMethodQueryImHints_data() +{ + QTest::addColumn("hints"); + + QTest::newRow("None") << static_cast(Qt::ImhNone); + QTest::newRow("Password") << static_cast(Qt::ImhHiddenText); + QTest::newRow("Normal") << static_cast(Qt::ImhNoAutoUppercase | Qt::ImhNoPredictiveText | Qt::ImhSensitiveData); +} + +void tst_QLineEdit::inputMethodQueryImHints() +{ + QFETCH(Qt::InputMethodHints, hints); + testWidget->setInputMethodHints(hints); + + QVariant value = testWidget->inputMethodQuery(Qt::ImHints); + QCOMPARE(static_cast(value.toInt()), hints); +} QTEST_MAIN(tst_QLineEdit) #include "tst_qlineedit.moc"