diff options
-rw-r--r-- | src/widgets/kernel/qwidget.cpp | 3 | ||||
-rw-r--r-- | src/widgets/widgets/qplaintextedit.cpp | 7 | ||||
-rw-r--r-- | src/widgets/widgets/qtextedit.cpp | 7 |
3 files changed, 15 insertions, 2 deletions
diff --git a/src/widgets/kernel/qwidget.cpp b/src/widgets/kernel/qwidget.cpp index 5826116a96..8d5f275d73 100644 --- a/src/widgets/kernel/qwidget.cpp +++ b/src/widgets/kernel/qwidget.cpp @@ -385,6 +385,7 @@ void QWidgetPrivate::updateWidgetTransform(QEvent *event) t.translate(p.x(), p.y()); QGuiApplication::inputMethod()->setInputItemTransform(t); QGuiApplication::inputMethod()->setInputItemRectangle(q->rect()); + QGuiApplication::inputMethod()->update(Qt::ImInputItemClipRectangle); } } @@ -9774,6 +9775,8 @@ QVariant QWidget::inputMethodQuery(Qt::InputMethodQuery query) const return inputMethodQuery(Qt::ImCursorPosition); case Qt::ImHints: return (int)inputMethodHints(); + case Qt::ImInputItemClipRectangle: + return d_func()->clipRect(); default: return QVariant(); } diff --git a/src/widgets/widgets/qplaintextedit.cpp b/src/widgets/widgets/qplaintextedit.cpp index 9675e5e9f2..27f1b16f60 100644 --- a/src/widgets/widgets/qplaintextedit.cpp +++ b/src/widgets/widgets/qplaintextedit.cpp @@ -2198,8 +2198,13 @@ QVariant QPlainTextEdit::inputMethodQuery(Qt::InputMethodQuery property) const QVariant QPlainTextEdit::inputMethodQuery(Qt::InputMethodQuery query, QVariant argument) const { Q_D(const QPlainTextEdit); - if (query == Qt::ImHints) + switch (query) { + case Qt::ImHints: + case Qt::ImInputItemClipRectangle: return QWidget::inputMethodQuery(query); + default: + break; + } const QPointF offset = contentOffset(); switch (argument.type()) { diff --git a/src/widgets/widgets/qtextedit.cpp b/src/widgets/widgets/qtextedit.cpp index df69b49687..af6d13a647 100644 --- a/src/widgets/widgets/qtextedit.cpp +++ b/src/widgets/widgets/qtextedit.cpp @@ -1728,8 +1728,13 @@ QVariant QTextEdit::inputMethodQuery(Qt::InputMethodQuery property) const QVariant QTextEdit::inputMethodQuery(Qt::InputMethodQuery query, QVariant argument) const { Q_D(const QTextEdit); - if (query == Qt::ImHints) + switch (query) { + case Qt::ImHints: + case Qt::ImInputItemClipRectangle: return QWidget::inputMethodQuery(query); + default: + break; + } const QPointF offset(-d->horizontalOffset(), -d->verticalOffset()); switch (argument.type()) { |