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());
|
t.translate(p.x(), p.y());
|
||||||
QGuiApplication::inputMethod()->setInputItemTransform(t);
|
QGuiApplication::inputMethod()->setInputItemTransform(t);
|
||||||
QGuiApplication::inputMethod()->setInputItemRectangle(q->rect());
|
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);
|
return inputMethodQuery(Qt::ImCursorPosition);
|
||||||
case Qt::ImHints:
|
case Qt::ImHints:
|
||||||
return (int)inputMethodHints();
|
return (int)inputMethodHints();
|
||||||
|
case Qt::ImInputItemClipRectangle:
|
||||||
|
return d_func()->clipRect();
|
||||||
default:
|
default:
|
||||||
return QVariant();
|
return QVariant();
|
||||||
}
|
}
|
||||||
|
@ -2198,8 +2198,13 @@ QVariant QPlainTextEdit::inputMethodQuery(Qt::InputMethodQuery property) const
|
|||||||
QVariant QPlainTextEdit::inputMethodQuery(Qt::InputMethodQuery query, QVariant argument) const
|
QVariant QPlainTextEdit::inputMethodQuery(Qt::InputMethodQuery query, QVariant argument) const
|
||||||
{
|
{
|
||||||
Q_D(const QPlainTextEdit);
|
Q_D(const QPlainTextEdit);
|
||||||
if (query == Qt::ImHints)
|
switch (query) {
|
||||||
|
case Qt::ImHints:
|
||||||
|
case Qt::ImInputItemClipRectangle:
|
||||||
return QWidget::inputMethodQuery(query);
|
return QWidget::inputMethodQuery(query);
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
const QPointF offset = contentOffset();
|
const QPointF offset = contentOffset();
|
||||||
switch (argument.type()) {
|
switch (argument.type()) {
|
||||||
|
@ -1728,8 +1728,13 @@ QVariant QTextEdit::inputMethodQuery(Qt::InputMethodQuery property) const
|
|||||||
QVariant QTextEdit::inputMethodQuery(Qt::InputMethodQuery query, QVariant argument) const
|
QVariant QTextEdit::inputMethodQuery(Qt::InputMethodQuery query, QVariant argument) const
|
||||||
{
|
{
|
||||||
Q_D(const QTextEdit);
|
Q_D(const QTextEdit);
|
||||||
if (query == Qt::ImHints)
|
switch (query) {
|
||||||
|
case Qt::ImHints:
|
||||||
|
case Qt::ImInputItemClipRectangle:
|
||||||
return QWidget::inputMethodQuery(query);
|
return QWidget::inputMethodQuery(query);
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
const QPointF offset(-d->horizontalOffset(), -d->verticalOffset());
|
const QPointF offset(-d->horizontalOffset(), -d->verticalOffset());
|
||||||
switch (argument.type()) {
|
switch (argument.type()) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user