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

[Regr: 6.8.2->6.9.0] Focus restore problem on closing popup

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: P1: Critical P1: Critical
    • None
    • 6.9.0, 6.9.1, 6.10.0 Beta2
    • Quick: Controls 2
    • None
    • Windows 11
    • Windows

      import QtQuick
      import QtQuick.Controls
      import QtQuick.Layouts
      
      ApplicationWindow {
          id: root
      
          component FocusVisualizationItem: Rectangle {
              required property Item focusItem
      
              x: {
                  const refreshTrigger = refreshTimer.refreshTrigger;
                  return focusItem?.mapToItem(Overlay.overlay, 0, 0).x ?? 0;
              }
              y: {
                  const refreshTrigger = refreshTimer.refreshTrigger;
                  return focusItem?.mapToItem(Overlay.overlay, 0, 0).y ?? 0;
              }
              width: focusItem?.width ?? 0
              height: focusItem?.height ?? 0
              visible: focusItem !== null
              parent: Overlay.overlay
              color: "pink"
              opacity: 0.1
              z: 100000000
      
              Timer {
                  id: refreshTimer
      
                  property bool refreshTrigger: false
      
                  running: true
                  interval: 10
                  repeat: true
                  onTriggered: () => {
                      refreshTrigger = !refreshTrigger;
                  }
              }
          }
      
          width: 640
          height: 480
          visible: true
          onActiveFocusItemChanged: () => {
              console.debug("onActiveFocusItemChanged:", activeFocusItem)
          }
          onActiveFocusControlChanged: () => {
              console.debug("onActiveFocusControlChanged:", activeFocusControl)
          }
      
          ColumnLayout {
              Button {
                  text: "O"
                  onClicked: testMenu.open()
      
                  Menu {
                      id: testMenu
      
                      y: parent.height
      
                      MenuItem {
                          text: "A"
                      }
                      MenuItem {
                          text: "B"
                      }
                  }
              }
              TextField {
                  id: textField
      
                  Popup {
                      y: parent.height
                      visible: textField.activeFocus
                      contentItem: Button {
                          text: "Clear"
                          focusPolicy: Qt.NoFocus
                          onClicked: textField.clear()
                      }
                  }
              }
              ComboBox {
                  model: ["First", "Second", "Third"]
              }
          }
          FocusVisualizationItem {
              focusItem: root.activeFocusItem
              color: "yellow"
          }
          FocusVisualizationItem {
              focusItem: root.activeFocusControl
              color: "orange"
          }
      }
      
      

      Scenario 1:

      1. Click on text field to set focus there
      2. Click "O" button to open menu
      3. Press Escape
      4. Focus was restored to text field instead of button "O" (regression bug)

      Scenario 2:

      1. Click on combo box to set focus there
      2. Click "O" button to open menu
      3. Press Escape
      4. Focus was restored to combo box instead of button "O" (regression bug)

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

            qt.team.quick.subscriptions Qt Quick and Widgets Team
            permotion88 Karol Polak
            Votes:
            1 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:

                There are no open Gerrit changes