Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-8866

QEvent::CloseSoftwareInputPanel are not called for inputmethod enabled QGraphicsItem.

XMLWordPrintable

    • Icon: Task Task
    • Resolution: Out of scope
    • Icon: P3: Somewhat important P3: Somewhat important
    • Some future release
    • None
    • Widgets: GraphicsView
    • None
    • window / symbian / linux

      • 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.

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

            ylopes Yoann Lopes
            manishsharma Manish Sharma
            Votes:
            1 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved:

                There are no open Gerrit changes