Commit 6254af55 authored by Caroline Chao's avatar Caroline Chao Committed by The Qt Project
Browse files

ComboBox: Add activeFocusOnPress property


We want this property to allow the user to open the menu using
the space key.

Change-Id: I291195cdb0e9658860636934d25315b100747eca
Reviewed-by: default avatarGabriel de Dietrich <gabriel.dedietrich@digia.com>
parent 2230afcb
6.2 5.10 5.11 5.12 5.12.1 5.12.10 5.12.11 5.12.12 5.12.2 5.12.3 5.12.4 5.12.5 5.12.6 5.12.7 5.12.8 5.12.9 5.13 5.13.0 5.13.1 5.13.2 5.14 5.14.0 5.14.1 5.14.2 5.15 5.15.0 5.15.1 5.15.2 5.3 5.4 5.5 5.6 5.7 5.8 5.9 5.9.8 dev old/5.1 old/5.2 wip/calendar wip/tizen v5.15.0-alpha1 v5.14.1 v5.14.0 v5.14.0-rc2 v5.14.0-rc1 v5.14.0-beta3 v5.14.0-beta2 v5.14.0-beta1 v5.14.0-alpha1 v5.13.2 v5.13.1 v5.13.0 v5.13.0-rc3 v5.13.0-rc2 v5.13.0-rc1 v5.13.0-beta4 v5.13.0-beta3 v5.13.0-beta2 v5.13.0-beta1 v5.13.0-alpha1 v5.12.7 v5.12.6 v5.12.5 v5.12.4 v5.12.3 v5.12.2 v5.12.1 v5.12.0 v5.12.0-rc2 v5.12.0-rc1 v5.12.0-beta4 v5.12.0-beta3 v5.12.0-beta2 v5.12.0-beta1 v5.12.0-alpha1 v5.11.3 v5.11.2 v5.11.1 v5.11.0 v5.11.0-rc2 v5.11.0-rc1 v5.11.0-beta4 v5.11.0-beta3 v5.11.0-beta2 v5.11.0-beta1 v5.11.0-alpha1 v5.10.1 v5.10.0 v5.10.0-rc3 v5.10.0-rc2 v5.10.0-rc1 v5.10.0-beta4 v5.10.0-beta3 v5.10.0-beta2 v5.10.0-beta1 v5.10.0-alpha1 v5.9.9 v5.9.8 v5.9.7 v5.9.6 v5.9.5 v5.9.4 v5.9.3 v5.9.2 v5.9.1 v5.9.0 v5.9.0-rc2 v5.9.0-rc1 v5.9.0-beta4 v5.9.0-beta3 v5.9.0-beta2 v5.9.0-beta1 v5.9.0-alpha1 v5.8.0 v5.8.0-rc1 v5.8.0-beta1 v5.8.0-alpha1 v5.7.1 v5.7.0 v5.7.0-rc1 v5.7.0-beta1 v5.7.0-alpha1 v5.6.3 v5.6.2 v5.6.1 v5.6.1-1 v5.6.0 v5.6.0-rc1 v5.6.0-beta1 v5.6.0-alpha1 v5.5.1 v5.5.0 v5.5.0-rc1 v5.5.0-beta1 v5.5.0-alpha1 v5.4.2 v5.4.1 v5.4.0 v5.4.0-rc1 v5.4.0-beta1 v5.4.0-alpha1 v5.3.2 v5.3.1 v5.3.0 v5.3.0-rc1 v5.3.0-beta1 v5.3.0-alpha1 v5.2.1 v5.2.0 v5.2.0-rc1 v5.2.0-beta1 v5.2.0-alpha1 v5.1.1 v5.1.0 v5.1.0-rc2 v5.1.0-rc1 v5.1.0-beta1
No related merge requests found
Showing with 41 additions and 1 deletion
......@@ -85,6 +85,10 @@ Control {
/*! The text of the currently selected item in the ComboBox. */
readonly property alias currentText: popup.selectedText
/*! This property specifies whether the combobox should gain active focus when pressed.
The default value is \c false. */
property bool activeFocusOnPress: false
/*! \internal */
readonly property bool __pressed: mouseArea.pressed && mouseArea.containsMouse || popup.__popupVisible
/*! \internal */
......@@ -100,7 +104,11 @@ Control {
id: mouseArea
anchors.fill: parent
hoverEnabled: true
onPressedChanged: if (pressed) popup.show()
onPressed: {
if (comboBox.activeFocusOnPress)
forceActiveFocus()
popup.show()
}
}
Component.onCompleted: {
......
......@@ -54,6 +54,15 @@ TestCase {
height:400
property var model
Timer {
id: timer
running: true
repeat: false
interval: 500
onTriggered: testCase.keyPress(Qt.Key_Escape)
}
function init() {
model = Qt.createQmlObject("import QtQuick 2.1; ListModel {}", testCase, '')
model.append({ text: "Banana", color: "Yellow" })
......@@ -192,5 +201,28 @@ TestCase {
verify(!control.control3.activeFocus)
control.destroy()
}
function test_activeFocusOnPress(){
if (Qt.platform.os === "mac")
skip("When the menu pops up on OS X, it does not return and the test fails after time out")
var comboBox = Qt.createQmlObject('import QtQuick.Controls 1.0 ; ComboBox { model: 4 }', container, '');
comboBox.activeFocusOnPress = false
verify(!comboBox.activeFocus)
if (Qt.platform.os === "mac") // on mac when the menu open, the __popup function does not return
timer.start()
else // two mouse clicks to open and close the popup menu
mouseClick(comboBox, comboBox.x + 1, comboBox.y + 1)
mouseClick(comboBox, comboBox.x + 1, comboBox.y + 1)
verify(!comboBox.activeFocus)
comboBox.activeFocusOnPress = true
if (Qt.platform.os === "mac") // on mac when the menu open, the __popup function does not return
timer.start()
else // two mouse clicks to open and close the popup menu
mouseClick(comboBox, comboBox.x + 1, comboBox.y + 1)
mouseClick(comboBox, comboBox.x + 1, comboBox.y + 1)
verify(comboBox.activeFocus)
comboBox.destroy()
}
}
}
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment