Details
-
Task
-
Resolution: Out of scope
-
P3: Somewhat important
-
None
-
None
-
window / symbian / linux
Description
- There is no mechanism for QGraphicsItem to send the CloseSoftwareInputPanel, which it should as it is a common functionality for all the input method enabled QGraphicsItems.
- And Since graphicsscene doesn't handle CloseSoftwareInputPanel, all the QWidget (eg. QLineEdit , QTextEdit etc.) which are added as proxy to the scene, will never be able to send the CloseSoftwareInputPanel event, as we always return from QApplications in below function.
void QApplicationPrivate::setFocusWidget(QWidget *focus, Qt::FocusReason reason) { #ifndef QT_NO_GRAPHICSVIEW if (focus && focus->window()->graphicsProxyWidget()) return; #endif . . }
So in short QGraphicsScene should send QEvent::CloseSoftwareInputPanel for all the QGraphicsItem which accepts inputMethod events.
This is a critical feature for our inputmethod plugins. As without this proxy widgets are not sending closepanel events and we are not able to close our input panel.