Fixed inputMethodQuery() for Qt::ImHints
to return QWidget::inputMethodHints() Change-Id: I46735c553e0cb4689cd0c53a69d07ed61ba56bf6 Reviewed-by: Joona Petrell <joona.t.petrell@nokia.com>
This commit is contained in:
parent
0a6dc44f24
commit
197b145a23
@ -2127,16 +2127,24 @@ void QPlainTextEdit::scrollContentsBy(int dx, int /*dy*/)
|
|||||||
QVariant QPlainTextEdit::inputMethodQuery(Qt::InputMethodQuery property) const
|
QVariant QPlainTextEdit::inputMethodQuery(Qt::InputMethodQuery property) const
|
||||||
{
|
{
|
||||||
Q_D(const QPlainTextEdit);
|
Q_D(const QPlainTextEdit);
|
||||||
QVariant v = d->control->inputMethodQuery(property);
|
QVariant v;
|
||||||
const QPoint offset(-d->horizontalOffset(), -0);
|
switch (property) {
|
||||||
if (v.type() == QVariant::RectF)
|
case Qt::ImHints:
|
||||||
v = v.toRectF().toRect().translated(offset);
|
v = QWidget::inputMethodQuery(property);
|
||||||
else if (v.type() == QVariant::PointF)
|
break;
|
||||||
v = v.toPointF().toPoint() + offset;
|
default:
|
||||||
else if (v.type() == QVariant::Rect)
|
v = d->control->inputMethodQuery(property);
|
||||||
v = v.toRect().translated(offset);
|
const QPoint offset(-d->horizontalOffset(), -0);
|
||||||
else if (v.type() == QVariant::Point)
|
if (v.type() == QVariant::RectF)
|
||||||
v = v.toPoint() + offset;
|
v = v.toRectF().toRect().translated(offset);
|
||||||
|
else if (v.type() == QVariant::PointF)
|
||||||
|
v = v.toPointF().toPoint() + offset;
|
||||||
|
else if (v.type() == QVariant::Rect)
|
||||||
|
v = v.toRect().translated(offset);
|
||||||
|
else if (v.type() == QVariant::Point)
|
||||||
|
v = v.toPoint() + offset;
|
||||||
|
}
|
||||||
|
|
||||||
return v;
|
return v;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1665,16 +1665,24 @@ void QTextEdit::scrollContentsBy(int dx, int dy)
|
|||||||
QVariant QTextEdit::inputMethodQuery(Qt::InputMethodQuery property) const
|
QVariant QTextEdit::inputMethodQuery(Qt::InputMethodQuery property) const
|
||||||
{
|
{
|
||||||
Q_D(const QTextEdit);
|
Q_D(const QTextEdit);
|
||||||
QVariant v = d->control->inputMethodQuery(property);
|
QVariant v;
|
||||||
const QPoint offset(-d->horizontalOffset(), -d->verticalOffset());
|
switch (property) {
|
||||||
if (v.type() == QVariant::RectF)
|
case Qt::ImHints:
|
||||||
v = v.toRectF().toRect().translated(offset);
|
v = QWidget::inputMethodQuery(property);
|
||||||
else if (v.type() == QVariant::PointF)
|
break;
|
||||||
v = v.toPointF().toPoint() + offset;
|
default:
|
||||||
else if (v.type() == QVariant::Rect)
|
v = d->control->inputMethodQuery(property);
|
||||||
v = v.toRect().translated(offset);
|
const QPoint offset(-d->horizontalOffset(), -d->verticalOffset());
|
||||||
else if (v.type() == QVariant::Point)
|
if (v.type() == QVariant::RectF)
|
||||||
v = v.toPoint() + offset;
|
v = v.toRectF().toRect().translated(offset);
|
||||||
|
else if (v.type() == QVariant::PointF)
|
||||||
|
v = v.toPointF().toPoint() + offset;
|
||||||
|
else if (v.type() == QVariant::Rect)
|
||||||
|
v = v.toRect().translated(offset);
|
||||||
|
else if (v.type() == QVariant::Point)
|
||||||
|
v = v.toPoint() + offset;
|
||||||
|
}
|
||||||
|
|
||||||
return v;
|
return v;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -148,6 +148,8 @@ private slots:
|
|||||||
void selectionChanged();
|
void selectionChanged();
|
||||||
void blockCountChanged();
|
void blockCountChanged();
|
||||||
void insertAndScrollToBottom();
|
void insertAndScrollToBottom();
|
||||||
|
void inputMethodQueryImHints_data();
|
||||||
|
void inputMethodQueryImHints();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void createSelection();
|
void createSelection();
|
||||||
@ -1516,6 +1518,24 @@ void tst_QPlainTextEdit::insertAndScrollToBottom()
|
|||||||
QCOMPARE(ed->verticalScrollBar()->value(), ed->verticalScrollBar()->maximum());
|
QCOMPARE(ed->verticalScrollBar()->value(), ed->verticalScrollBar()->maximum());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Q_DECLARE_METATYPE(Qt::InputMethodHints)
|
||||||
|
void tst_QPlainTextEdit::inputMethodQueryImHints_data()
|
||||||
|
{
|
||||||
|
QTest::addColumn<Qt::InputMethodHints>("hints");
|
||||||
|
|
||||||
|
QTest::newRow("None") << static_cast<Qt::InputMethodHints>(Qt::ImhNone);
|
||||||
|
QTest::newRow("Password") << static_cast<Qt::InputMethodHints>(Qt::ImhHiddenText);
|
||||||
|
QTest::newRow("Normal") << static_cast<Qt::InputMethodHints>(Qt::ImhNoAutoUppercase | Qt::ImhNoPredictiveText | Qt::ImhSensitiveData);
|
||||||
|
}
|
||||||
|
|
||||||
|
void tst_QPlainTextEdit::inputMethodQueryImHints()
|
||||||
|
{
|
||||||
|
QFETCH(Qt::InputMethodHints, hints);
|
||||||
|
ed->setInputMethodHints(hints);
|
||||||
|
|
||||||
|
QVariant value = ed->inputMethodQuery(Qt::ImHints);
|
||||||
|
QCOMPARE(static_cast<Qt::InputMethodHints>(value.toInt()), hints);
|
||||||
|
}
|
||||||
|
|
||||||
QTEST_MAIN(tst_QPlainTextEdit)
|
QTEST_MAIN(tst_QPlainTextEdit)
|
||||||
#include "tst_qplaintextedit.moc"
|
#include "tst_qplaintextedit.moc"
|
||||||
|
@ -209,6 +209,8 @@ private slots:
|
|||||||
void inputMethodEvent();
|
void inputMethodEvent();
|
||||||
void inputMethodSelection();
|
void inputMethodSelection();
|
||||||
void inputMethodQuery();
|
void inputMethodQuery();
|
||||||
|
void inputMethodQueryImHints_data();
|
||||||
|
void inputMethodQueryImHints();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void createSelection();
|
void createSelection();
|
||||||
@ -2462,5 +2464,24 @@ void tst_QTextEdit::inputMethodQuery()
|
|||||||
QCOMPARE(event.value(Qt::ImEnabled).toBool(), false);
|
QCOMPARE(event.value(Qt::ImEnabled).toBool(), false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Q_DECLARE_METATYPE(Qt::InputMethodHints)
|
||||||
|
void tst_QTextEdit::inputMethodQueryImHints_data()
|
||||||
|
{
|
||||||
|
QTest::addColumn<Qt::InputMethodHints>("hints");
|
||||||
|
|
||||||
|
QTest::newRow("None") << static_cast<Qt::InputMethodHints>(Qt::ImhNone);
|
||||||
|
QTest::newRow("Password") << static_cast<Qt::InputMethodHints>(Qt::ImhHiddenText);
|
||||||
|
QTest::newRow("Normal") << static_cast<Qt::InputMethodHints>(Qt::ImhNoAutoUppercase | Qt::ImhNoPredictiveText | Qt::ImhSensitiveData);
|
||||||
|
}
|
||||||
|
|
||||||
|
void tst_QTextEdit::inputMethodQueryImHints()
|
||||||
|
{
|
||||||
|
QFETCH(Qt::InputMethodHints, hints);
|
||||||
|
ed->setInputMethodHints(hints);
|
||||||
|
|
||||||
|
QVariant value = ed->inputMethodQuery(Qt::ImHints);
|
||||||
|
QCOMPARE(static_cast<Qt::InputMethodHints>(value.toInt()), hints);
|
||||||
|
}
|
||||||
|
|
||||||
QTEST_MAIN(tst_QTextEdit)
|
QTEST_MAIN(tst_QTextEdit)
|
||||||
#include "tst_qtextedit.moc"
|
#include "tst_qtextedit.moc"
|
||||||
|
Loading…
Reference in New Issue
Block a user