Add Qt::ImInputItemClipRectangle support to widgets
Let widgets respond to ImInputItemClipRectangle inputMethodQuery and notify about potential changes with QInputMethod::update() Change-Id: I01b2c53273df207d26107b237a7096fe53d1b0a5 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@theqtcompany.com>
This commit is contained in:
parent
9180797247
commit
9c02a924ca
@ -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();
|
||||
}
|
||||
|
@ -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()) {
|
||||
|
@ -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()) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user