diff options
author | Tasuku Suzuki <tasuku.suzuki@nokia.com> | 2012-05-22 08:14:34 +0900 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-06-26 08:14:17 +0200 |
commit | 197b145a23564910f6316ca0b2f9a1b39efaf9ef (patch) | |
tree | 9d0e9fb68a1247b3007ecfd4b99004a9bff6a71f /src/widgets | |
parent | 0a6dc44f248c05bf179069e8cb3c2aebbeee7ac6 (diff) |
Fixed inputMethodQuery() for Qt::ImHints
to return QWidget::inputMethodHints()
Change-Id: I46735c553e0cb4689cd0c53a69d07ed61ba56bf6
Reviewed-by: Joona Petrell <joona.t.petrell@nokia.com>
Diffstat (limited to 'src/widgets')
-rw-r--r-- | src/widgets/widgets/qplaintextedit.cpp | 28 | ||||
-rw-r--r-- | src/widgets/widgets/qtextedit.cpp | 28 |
2 files changed, 36 insertions, 20 deletions
diff --git a/src/widgets/widgets/qplaintextedit.cpp b/src/widgets/widgets/qplaintextedit.cpp index c31ac65046..60160c91c3 100644 --- a/src/widgets/widgets/qplaintextedit.cpp +++ b/src/widgets/widgets/qplaintextedit.cpp @@ -2127,16 +2127,24 @@ void QPlainTextEdit::scrollContentsBy(int dx, int /*dy*/) QVariant QPlainTextEdit::inputMethodQuery(Qt::InputMethodQuery property) const { Q_D(const QPlainTextEdit); - QVariant v = d->control->inputMethodQuery(property); - const QPoint offset(-d->horizontalOffset(), -0); - if (v.type() == QVariant::RectF) - 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; + QVariant v; + switch (property) { + case Qt::ImHints: + v = QWidget::inputMethodQuery(property); + break; + default: + v = d->control->inputMethodQuery(property); + const QPoint offset(-d->horizontalOffset(), -0); + if (v.type() == QVariant::RectF) + 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; } diff --git a/src/widgets/widgets/qtextedit.cpp b/src/widgets/widgets/qtextedit.cpp index 3dbd24705b..c9de35a261 100644 --- a/src/widgets/widgets/qtextedit.cpp +++ b/src/widgets/widgets/qtextedit.cpp @@ -1665,16 +1665,24 @@ void QTextEdit::scrollContentsBy(int dx, int dy) QVariant QTextEdit::inputMethodQuery(Qt::InputMethodQuery property) const { Q_D(const QTextEdit); - QVariant v = d->control->inputMethodQuery(property); - const QPoint offset(-d->horizontalOffset(), -d->verticalOffset()); - if (v.type() == QVariant::RectF) - 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; + QVariant v; + switch (property) { + case Qt::ImHints: + v = QWidget::inputMethodQuery(property); + break; + default: + v = d->control->inputMethodQuery(property); + const QPoint offset(-d->horizontalOffset(), -d->verticalOffset()); + if (v.type() == QVariant::RectF) + 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; } |