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

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

    XMLWordPrintable

Details

    • Task
    • Resolution: Out of scope
    • P3: Somewhat important
    • Some future release
    • None
    • Widgets: GraphicsView
    • 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.

      Attachments

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

        Activity

          People

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

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes