aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMitch Curtis <mitch.curtis@theqtcompany.com>2016-04-12 16:19:58 +0200
committerJ-P Nurmi <jpnurmi@theqtcompany.com>2016-04-15 14:45:47 +0000
commiteae24fccc57437170e2ba01b894fa24fe65292be (patch)
treedfbd1450c237df8c2cd08838d2f054ef029ceea8
parent0fe0283308199a6bf4a155627cddd524638c7063 (diff)
Add QQuickAbstractButton::down
This property will determine whether or not the button is visually pressed. Having such a distinction allows users more control over their controls. The patch also fixes the problem with ComboBox where pressing on the ComboBox when it's open would cause a delegate in the popup to show as being pressed. Unless explicitly set, this property follows the value of the pressed property. To return to the default value, set it to undefined. Change-Id: I29ecf325ed2ede125613f0c878b0427937599866 Task-number: QTBUG-51005 Reviewed-by: J-P Nurmi <jpnurmi@theqtcompany.com>
-rw-r--r--src/imports/controls/Button.qml8
-rw-r--r--src/imports/controls/CheckBox.qml2
-rw-r--r--src/imports/controls/CheckDelegate.qml4
-rw-r--r--src/imports/controls/CheckIndicator.qml4
-rw-r--r--src/imports/controls/ComboBox.qml4
-rw-r--r--src/imports/controls/ItemDelegate.qml4
-rw-r--r--src/imports/controls/MenuItem.qml2
-rw-r--r--src/imports/controls/RadioButton.qml2
-rw-r--r--src/imports/controls/RadioDelegate.qml4
-rw-r--r--src/imports/controls/RadioIndicator.qml4
-rw-r--r--src/imports/controls/SwipeDelegate.qml6
-rw-r--r--src/imports/controls/TabButton.qml4
-rw-r--r--src/imports/controls/ToolButton.qml4
-rw-r--r--src/imports/controls/doc/snippets/qtquickcontrols2-button-pressed.qml2
-rw-r--r--src/imports/controls/doc/snippets/qtquickcontrols2-tooltip.qml2
-rw-r--r--src/imports/controls/material/Button.qml4
-rw-r--r--src/imports/controls/material/CheckDelegate.qml4
-rw-r--r--src/imports/controls/material/CheckIndicator.qml2
-rw-r--r--src/imports/controls/material/ComboBox.qml4
-rw-r--r--src/imports/controls/material/ItemDelegate.qml4
-rw-r--r--src/imports/controls/material/MenuItem.qml4
-rw-r--r--src/imports/controls/material/RadioDelegate.qml4
-rw-r--r--src/imports/controls/material/RadioIndicator.qml6
-rw-r--r--src/imports/controls/material/SwipeDelegate.qml6
-rw-r--r--src/imports/controls/material/TabButton.qml2
-rw-r--r--src/imports/controls/material/ToolButton.qml4
-rw-r--r--src/imports/controls/universal/Button.qml2
-rw-r--r--src/imports/controls/universal/CheckDelegate.qml4
-rw-r--r--src/imports/controls/universal/CheckIndicator.qml6
-rw-r--r--src/imports/controls/universal/ComboBox.qml6
-rw-r--r--src/imports/controls/universal/Dial.qml2
-rw-r--r--src/imports/controls/universal/ItemDelegate.qml4
-rw-r--r--src/imports/controls/universal/MenuItem.qml4
-rw-r--r--src/imports/controls/universal/RadioDelegate.qml4
-rw-r--r--src/imports/controls/universal/RadioIndicator.qml6
-rw-r--r--src/imports/controls/universal/SwipeDelegate.qml6
-rw-r--r--src/imports/controls/universal/TabButton.qml2
-rw-r--r--src/imports/controls/universal/ToolButton.qml2
-rw-r--r--src/quicktemplates2/qquickabstractbutton.cpp52
-rw-r--r--src/quicktemplates2/qquickabstractbutton_p.h8
-rw-r--r--src/quicktemplates2/qquickabstractbutton_p_p.h2
-rw-r--r--src/quicktemplates2/qquickcombobox.cpp2
-rw-r--r--tests/auto/controls/data/tst_button.qml23
-rw-r--r--tests/auto/controls/data/tst_combobox.qml2
-rw-r--r--tests/auto/controls/data/tst_toolbutton.qml24
-rw-r--r--tests/manual/testbench/main.qml26
46 files changed, 191 insertions, 96 deletions
diff --git a/src/imports/controls/Button.qml b/src/imports/controls/Button.qml
index 82ff0914..406ae931 100644
--- a/src/imports/controls/Button.qml
+++ b/src/imports/controls/Button.qml
@@ -55,7 +55,7 @@ T.Button {
text: control.text
font: control.font
opacity: enabled || highlighted ? 1 : 0.3
- color: control.checked || control.highlighted ? "#ffffff" : (control.activeKeyFocus ? "#0066ff" : (control.pressed ? "#26282a" : "#353637"))
+ color: control.checked || control.highlighted ? "#ffffff" : (control.activeKeyFocus ? "#0066ff" : (control.down ? "#26282a" : "#353637"))
horizontalAlignment: Text.AlignHCenter
verticalAlignment: Text.AlignVCenter
elide: Text.ElideRight
@@ -68,9 +68,9 @@ T.Button {
implicitHeight: 40
opacity: enabled ? 1 : (control.checked ? 0.2 : 0.3)
color: control.checked || control.highlighted ?
- (control.activeKeyFocus ? (control.pressed ? "#599bff" : "#0066ff") : (control.pressed ? "#585a5c" : "#353637")) :
- (control.activeKeyFocus ? (control.pressed ? "#cce0ff" : "#f0f6ff") : (control.pressed ? "#d6d6d6" : "#f6f6f6"))
- border.color: control.activeKeyFocus ? "#0066ff" : (control.pressed ? "#26282a" : "#353637")
+ (control.activeKeyFocus ? (control.down ? "#599bff" : "#0066ff") : (control.down ? "#585a5c" : "#353637")) :
+ (control.activeKeyFocus ? (control.down ? "#cce0ff" : "#f0f6ff") : (control.down ? "#d6d6d6" : "#f6f6f6"))
+ border.color: control.activeKeyFocus ? "#0066ff" : (control.down ? "#26282a" : "#353637")
border.width: control.checked || control.highlighted ? 0 : (control.activeKeyFocus ? 2 : 1)
}
//! [background]
diff --git a/src/imports/controls/CheckBox.qml b/src/imports/controls/CheckBox.qml
index 720bd428..f46b46f2 100644
--- a/src/imports/controls/CheckBox.qml
+++ b/src/imports/controls/CheckBox.qml
@@ -67,7 +67,7 @@ T.CheckBox {
text: control.text
font: control.font
- color: control.pressed ? "#26282a" : "#353637"
+ color: control.down ? "#26282a" : "#353637"
elide: Text.ElideRight
visible: control.text
horizontalAlignment: Text.AlignLeft
diff --git a/src/imports/controls/CheckDelegate.qml b/src/imports/controls/CheckDelegate.qml
index f09dfd15..c56ef221 100644
--- a/src/imports/controls/CheckDelegate.qml
+++ b/src/imports/controls/CheckDelegate.qml
@@ -79,8 +79,8 @@ T.CheckDelegate {
background: Rectangle {
implicitWidth: 100
implicitHeight: 40
- visible: control.pressed || control.highlighted
- color: control.pressed ? "#bdbebf" : "#eeeeee"
+ visible: control.down || control.highlighted
+ color: control.down ? "#bdbebf" : "#eeeeee"
}
//! [background]
}
diff --git a/src/imports/controls/CheckIndicator.qml b/src/imports/controls/CheckIndicator.qml
index 260a0d28..68ff134e 100644
--- a/src/imports/controls/CheckIndicator.qml
+++ b/src/imports/controls/CheckIndicator.qml
@@ -44,9 +44,9 @@ Rectangle {
implicitWidth: 28
implicitHeight: 28
- color: control.enabled ? (control.pressed ? (control.activeFocus ? "#cce0ff" : "#e4e4e4") : "#f6f6f6") : "#353637"
+ color: control.enabled ? (control.down ? (control.activeFocus ? "#cce0ff" : "#e4e4e4") : "#f6f6f6") : "#353637"
border.width: control.activeFocus ? 2 : 1
- border.color: control.enabled ? (control.activeFocus ? "#0066ff" : (control.pressed ? "#26282a" : "#353637")) : "transparent"
+ border.color: control.enabled ? (control.activeFocus ? "#0066ff" : (control.down ? "#26282a" : "#353637")) : "transparent"
Image {
x: (parent.width - width) / 2
diff --git a/src/imports/controls/ComboBox.qml b/src/imports/controls/ComboBox.qml
index 08ce97c8..5ecd638c 100644
--- a/src/imports/controls/ComboBox.qml
+++ b/src/imports/controls/ComboBox.qml
@@ -60,7 +60,7 @@ T.ComboBox {
autoExclusive: true
checked: control.currentIndex === index
highlighted: control.highlightedIndex === index
- pressed: highlighted && control.pressed
+ down: highlighted && control.down
}
//! [delegate]
@@ -85,7 +85,7 @@ T.ComboBox {
width: parent.width
height: parent.height
opacity: control.enabled ? 1.0 : 0.2
- color: control.pressed || popup.visible ? "#585A5C" : "#353637"
+ color: control.down || popup.visible ? "#585A5C" : "#353637"
}
Image {
diff --git a/src/imports/controls/ItemDelegate.qml b/src/imports/controls/ItemDelegate.qml
index 4339df86..7bd4fd58 100644
--- a/src/imports/controls/ItemDelegate.qml
+++ b/src/imports/controls/ItemDelegate.qml
@@ -69,8 +69,8 @@ T.ItemDelegate {
background: Rectangle {
implicitWidth: 100
implicitHeight: 40
- visible: control.pressed || control.highlighted
- color: control.pressed ? "#bdbebf" : "#eeeeee"
+ visible: control.down || control.highlighted
+ color: control.down ? "#bdbebf" : "#eeeeee"
}
//! [background]
}
diff --git a/src/imports/controls/MenuItem.qml b/src/imports/controls/MenuItem.qml
index eb3135ce..1ad513e5 100644
--- a/src/imports/controls/MenuItem.qml
+++ b/src/imports/controls/MenuItem.qml
@@ -84,7 +84,7 @@ T.MenuItem {
y: 1
width: parent.width - 2
height: parent.height - 2
- color: control.activeKeyFocus || control.pressed ? "#eeeeee" : "transparent"
+ color: control.activeKeyFocus || control.down ? "#eeeeee" : "transparent"
}
}
//! [background]
diff --git a/src/imports/controls/RadioButton.qml b/src/imports/controls/RadioButton.qml
index e114ad89..b9ac74f3 100644
--- a/src/imports/controls/RadioButton.qml
+++ b/src/imports/controls/RadioButton.qml
@@ -67,7 +67,7 @@ T.RadioButton {
text: control.text
font: control.font
- color: control.pressed ? "#26282a" : "#353637"
+ color: control.down ? "#26282a" : "#353637"
elide: Text.ElideRight
visible: control.text
horizontalAlignment: Text.AlignLeft
diff --git a/src/imports/controls/RadioDelegate.qml b/src/imports/controls/RadioDelegate.qml
index f5e661bd..2dce11fd 100644
--- a/src/imports/controls/RadioDelegate.qml
+++ b/src/imports/controls/RadioDelegate.qml
@@ -78,8 +78,8 @@ T.RadioDelegate {
background: Rectangle {
implicitWidth: 100
implicitHeight: 40
- visible: control.pressed || control.highlighted
- color: control.pressed ? "#bdbebf" : "#eeeeee"
+ visible: control.down || control.highlighted
+ color: control.down ? "#bdbebf" : "#eeeeee"
}
//! [background]
}
diff --git a/src/imports/controls/RadioIndicator.qml b/src/imports/controls/RadioIndicator.qml
index 49e682e4..041f8f3e 100644
--- a/src/imports/controls/RadioIndicator.qml
+++ b/src/imports/controls/RadioIndicator.qml
@@ -41,9 +41,9 @@ Rectangle {
implicitHeight: 28
radius: width / 2
- color: control.pressed ? (control.activeFocus ? "#cce0ff" : "#e4e4e4") : "#f6f6f6"
+ color: control.down ? (control.activeFocus ? "#cce0ff" : "#e4e4e4") : "#f6f6f6"
border.width: control.activeFocus ? 2 : 1
- border.color: control.activeFocus ? "#0066ff" : (control.pressed ? "#26282a" : "#353637")
+ border.color: control.activeFocus ? "#0066ff" : (control.down ? "#26282a" : "#353637")
property Item control
diff --git a/src/imports/controls/SwipeDelegate.qml b/src/imports/controls/SwipeDelegate.qml
index 6621f44d..12673f33 100644
--- a/src/imports/controls/SwipeDelegate.qml
+++ b/src/imports/controls/SwipeDelegate.qml
@@ -64,7 +64,7 @@ T.SwipeDelegate {
verticalAlignment: Text.AlignVCenter
Behavior on x {
- enabled: !control.pressed
+ enabled: !control.down
NumberAnimation {
easing.type: Easing.InOutCubic
duration: 400
@@ -75,10 +75,10 @@ T.SwipeDelegate {
//! [background]
background: Rectangle {
- color: control.pressed ? "#bdbebf" : "#eeeeee"
+ color: control.down ? "#bdbebf" : "#eeeeee"
Behavior on x {
- enabled: !control.pressed
+ enabled: !control.down
NumberAnimation {
easing.type: Easing.InOutCubic
duration: 400
diff --git a/src/imports/controls/TabButton.qml b/src/imports/controls/TabButton.qml
index dff05d8c..352bef1a 100644
--- a/src/imports/controls/TabButton.qml
+++ b/src/imports/controls/TabButton.qml
@@ -54,7 +54,7 @@ T.TabButton {
font: control.font
elide: Text.ElideRight
opacity: enabled ? 1 : 0.3
- color: !control.checked ? "#ffffff" : control.pressed ? "#26282a" : "#353637"
+ color: !control.checked ? "#ffffff" : control.down ? "#26282a" : "#353637"
horizontalAlignment: Text.AlignHCenter
verticalAlignment: Text.AlignVCenter
}
@@ -63,7 +63,7 @@ T.TabButton {
//! [background]
background: Rectangle {
implicitHeight: 40
- color: control.pressed ? (control.checked ? "#e4e4e4" : "#585a5c") : (control.checked ? "transparent" : "#353637")
+ color: control.down ? (control.checked ? "#e4e4e4" : "#585a5c") : (control.checked ? "transparent" : "#353637")
}
//! [background]
}
diff --git a/src/imports/controls/ToolButton.qml b/src/imports/controls/ToolButton.qml
index fd336371..8c903bb4 100644
--- a/src/imports/controls/ToolButton.qml
+++ b/src/imports/controls/ToolButton.qml
@@ -65,8 +65,8 @@ T.ToolButton {
implicitHeight: 40
color: Qt.darker("#33333333", control.enabled && (control.checked || control.highlighted) ? 1.5 : 1.0)
- opacity: control.pressed ? 1.0 : control.enabled && (control.checked || control.highlighted) ? 0.5 : 0
- visible: control.pressed || (control.enabled && (control.checked || control.highlighted))
+ opacity: control.down ? 1.0 : control.enabled && (control.checked || control.highlighted) ? 0.5 : 0
+ visible: control.down || (control.enabled && (control.checked || control.highlighted))
}
//! [background]
}
diff --git a/src/imports/controls/doc/snippets/qtquickcontrols2-button-pressed.qml b/src/imports/controls/doc/snippets/qtquickcontrols2-button-pressed.qml
index b5c918db..9fde2fc4 100644
--- a/src/imports/controls/doc/snippets/qtquickcontrols2-button-pressed.qml
+++ b/src/imports/controls/doc/snippets/qtquickcontrols2-button-pressed.qml
@@ -31,5 +31,5 @@ import Qt.labs.controls 1.0
Button {
width: 80
text: "Pressed"
- pressed: true
+ down: true
}
diff --git a/src/imports/controls/doc/snippets/qtquickcontrols2-tooltip.qml b/src/imports/controls/doc/snippets/qtquickcontrols2-tooltip.qml
index 7a061b2d..08ee995d 100644
--- a/src/imports/controls/doc/snippets/qtquickcontrols2-tooltip.qml
+++ b/src/imports/controls/doc/snippets/qtquickcontrols2-tooltip.qml
@@ -36,7 +36,7 @@ Item {
property Button button: children[0]
- Binding { target: button; property: "pressed"; value: root.Window.active }
+ Binding { target: button; property: "down"; value: root.Window.active }
Binding { target: button.anchors; property: "bottom"; value: root.bottom }
Binding { target: button.anchors; property: "horizontalCenter"; value: root.horizontalCenter }
diff --git a/src/imports/controls/material/Button.qml b/src/imports/controls/material/Button.qml
index 09dac44c..1e12cb6e 100644
--- a/src/imports/controls/material/Button.qml
+++ b/src/imports/controls/material/Button.qml
@@ -76,7 +76,7 @@ T.Button {
height: parent.height - 12
radius: 2
color: !control.enabled ? (control.highlighted ? control.Material.raisedHighlightedButtonDisabledColor : control.Material.raisedButtonDisabledColor) :
- (control.pressed ? (control.highlighted ? control.Material.raisedHighlightedButtonPressColor : control.Material.raisedButtonPressColor) :
+ (control.down ? (control.highlighted ? control.Material.raisedHighlightedButtonPressColor : control.Material.raisedButtonPressColor) :
(control.activeKeyFocus ? (control.highlighted ? control.Material.raisedHighlightedButtonHoverColor : control.Material.raisedButtonHoverColor) :
(control.highlighted ? control.Material.raisedHighlightedButtonColor : control.Material.raisedButtonColor)))
@@ -98,7 +98,7 @@ T.Button {
layer.effect: DropShadow {
verticalOffset: 1
color: control.Material.dropShadowColor
- samples: control.pressed ? 15 : 9
+ samples: control.down ? 15 : 9
spread: 0.5
}
}
diff --git a/src/imports/controls/material/CheckDelegate.qml b/src/imports/controls/material/CheckDelegate.qml
index acea613c..70104962 100644
--- a/src/imports/controls/material/CheckDelegate.qml
+++ b/src/imports/controls/material/CheckDelegate.qml
@@ -77,8 +77,8 @@ T.CheckDelegate {
//! [background]
background: Rectangle {
- visible: control.pressed || control.highlighted
- color: control.pressed ? control.Material.flatButtonPressColor : control.Material.listHighlightColor
+ visible: control.down || control.highlighted
+ color: control.down ? control.Material.flatButtonPressColor : control.Material.listHighlightColor
}
//! [background]
}
diff --git a/src/imports/controls/material/CheckIndicator.qml b/src/imports/controls/material/CheckIndicator.qml
index ba6de6a2..31e1abaf 100644
--- a/src/imports/controls/material/CheckIndicator.qml
+++ b/src/imports/controls/material/CheckIndicator.qml
@@ -68,7 +68,7 @@ Rectangle {
height: width
control: control
colored: control.checked
- opacity: control.pressed ? 1 : 0
+ opacity: control.down ? 1 : 0
}
// TODO: This needs to be transparent
diff --git a/src/imports/controls/material/ComboBox.qml b/src/imports/controls/material/ComboBox.qml
index b1c0c332..5a6e0610 100644
--- a/src/imports/controls/material/ComboBox.qml
+++ b/src/imports/controls/material/ComboBox.qml
@@ -58,7 +58,7 @@ T.ComboBox {
width: control.width
text: control.textRole ? (Array.isArray(control.model) ? modelData[control.textRole] : model[control.textRole]) : modelData
highlighted: control.highlightedIndex === index
- pressed: highlighted && control.pressed
+ down: highlighted && control.down
}
//! [delegate]
@@ -92,7 +92,7 @@ T.ComboBox {
layer.effect: DropShadow {
verticalOffset: 1
color: control.Material.dropShadowColor
- samples: control.pressed ? 15 : 9
+ samples: control.down ? 15 : 9
spread: 0.5
}
diff --git a/src/imports/controls/material/ItemDelegate.qml b/src/imports/controls/material/ItemDelegate.qml
index 96323716..efba10b0 100644
--- a/src/imports/controls/material/ItemDelegate.qml
+++ b/src/imports/controls/material/ItemDelegate.qml
@@ -68,8 +68,8 @@ T.ItemDelegate {
//! [background]
background: Rectangle {
- visible: control.pressed || control.highlighted
- color: control.pressed ? control.Material.flatButtonPressColor : control.Material.listHighlightColor
+ visible: control.down || control.highlighted
+ color: control.down ? control.Material.flatButtonPressColor : control.Material.listHighlightColor
}
//! [background]
}
diff --git a/src/imports/controls/material/MenuItem.qml b/src/imports/controls/material/MenuItem.qml
index ecc8a388..48eb390b 100644
--- a/src/imports/controls/material/MenuItem.qml
+++ b/src/imports/controls/material/MenuItem.qml
@@ -79,8 +79,8 @@ T.MenuItem {
//! [background]
background: Rectangle {
implicitWidth: 200
- visible: control.pressed || control.highlighted
- color: control.pressed ? control.Material.flatButtonPressColor : control.Material.listHighlightColor
+ visible: control.down || control.highlighted
+ color: control.down ? control.Material.flatButtonPressColor : control.Material.listHighlightColor
}
//! [background]
}
diff --git a/src/imports/controls/material/RadioDelegate.qml b/src/imports/controls/material/RadioDelegate.qml
index 78780e50..5f5f58cf 100644
--- a/src/imports/controls/material/RadioDelegate.qml
+++ b/src/imports/controls/material/RadioDelegate.qml
@@ -76,8 +76,8 @@ T.RadioDelegate {
//! [background]
background: Rectangle {
- visible: control.pressed || control.highlighted
- color: control.pressed ? control.Material.flatButtonPressColor : control.Material.listHighlightColor
+ visible: control.down || control.highlighted
+ color: control.down ? control.Material.flatButtonPressColor : control.Material.listHighlightColor
}
//! [background]
}
diff --git a/src/imports/controls/material/RadioIndicator.qml b/src/imports/controls/material/RadioIndicator.qml
index 5ad92c3d..27ab8d9a 100644
--- a/src/imports/controls/material/RadioIndicator.qml
+++ b/src/imports/controls/material/RadioIndicator.qml
@@ -43,7 +43,7 @@ Rectangle {
implicitHeight: 20
radius: width / 2
border.width: 2
- border.color: control.checked || control.pressed ? control.Material.accentColor : control.Material.secondaryTextColor
+ border.color: control.checked || control.down ? control.Material.accentColor : control.Material.secondaryTextColor
color: "transparent"
property alias control: ripple.control
@@ -54,7 +54,7 @@ Rectangle {
height: width
control: control
colored: control.checked
- opacity: control.pressed || control.activeFocus ? 1 : 0
+ opacity: control.down || control.activeFocus ? 1 : 0
}
Rectangle {
@@ -64,6 +64,6 @@ Rectangle {
height: 10
radius: width / 2
color: parent.border.color
- visible: control.checked || control.pressed
+ visible: control.checked || control.down
}
}
diff --git a/src/imports/controls/material/SwipeDelegate.qml b/src/imports/controls/material/SwipeDelegate.qml
index cb114bfc..c4bacc10 100644
--- a/src/imports/controls/material/SwipeDelegate.qml
+++ b/src/imports/controls/material/SwipeDelegate.qml
@@ -66,7 +66,7 @@ T.SwipeDelegate {
verticalAlignment: Text.AlignVCenter
Behavior on x {
- enabled: !control.pressed
+ enabled: !control.down
NumberAnimation {
easing.type: Easing.InOutCubic
duration: 400
@@ -78,11 +78,11 @@ T.SwipeDelegate {
//! [background]
background: Rectangle {
color: !control.enabled ? control.Material.swipeDelegateDisabledColor :
- (control.pressed ? control.Material.swipeDelegatePressColor :
+ (control.down ? control.Material.swipeDelegatePressColor :
(control.activeKeyFocus || control.hovered ? control.Material.swipeDelegateHoverColor : control.Material.swipeDelegateColor))
Behavior on x {
- enabled: !control.pressed
+ enabled: !control.down
NumberAnimation {
easing.type: Easing.InOutCubic
duration: 400
diff --git a/src/imports/controls/material/TabButton.qml b/src/imports/controls/material/TabButton.qml
index 63728d2d..70efc0ff 100644
--- a/src/imports/controls/material/TabButton.qml
+++ b/src/imports/controls/material/TabButton.qml
@@ -54,7 +54,7 @@ T.TabButton {
text: control.text
font: control.font
elide: Text.ElideRight
- color: !control.enabled ? control.Material.hintTextColor : control.pressed || control.checked ? control.Material.accentColor : control.Material.primaryTextColor
+ color: !control.enabled ? control.Material.hintTextColor : control.down || control.checked ? control.Material.accentColor : control.Material.primaryTextColor
horizontalAlignment: Text.AlignHCenter
verticalAlignment: Text.AlignVCenter
}
diff --git a/src/imports/controls/material/ToolButton.qml b/src/imports/controls/material/ToolButton.qml
index 53da9077..e3a1d740 100644
--- a/src/imports/controls/material/ToolButton.qml
+++ b/src/imports/controls/material/ToolButton.qml
@@ -65,8 +65,8 @@ T.ToolButton {
implicitWidth: 48
implicitHeight: 48
- color: control.pressed ? control.Material.flatButtonPressColor : control.Material.flatButtonFocusColor
- visible: control.enabled && (control.pressed || control.activeKeyFocus || control.checked || control.highlighted)
+ color: control.down ? control.Material.flatButtonPressColor : control.Material.flatButtonFocusColor
+ visible: control.enabled && (control.down || control.activeKeyFocus || control.checked || control.highlighted)
}
//! [background]
}
diff --git a/src/imports/controls/universal/Button.qml b/src/imports/controls/universal/Button.qml
index cd0d9310..d0dbcf99 100644
--- a/src/imports/controls/universal/Button.qml
+++ b/src/imports/controls/universal/Button.qml
@@ -71,7 +71,7 @@ T.Button {
implicitWidth: 32
implicitHeight: 32
- color: control.pressed ? control.Universal.baseMediumLowColor :
+ color: control.down ? control.Universal.baseMediumLowColor :
control.enabled && (control.highlighted || control.checked) ? control.Universal.accent :
control.Universal.baseLowColor
}
diff --git a/src/imports/controls/universal/CheckDelegate.qml b/src/imports/controls/universal/CheckDelegate.qml
index 186f9048..91f57b24 100644
--- a/src/imports/controls/universal/CheckDelegate.qml
+++ b/src/imports/controls/universal/CheckDelegate.qml
@@ -81,8 +81,8 @@ T.CheckDelegate {
//! [background]
background: Rectangle {
- visible: control.pressed || control.highlighted || control.activeFocus
- color: control.pressed ? control.Universal.listMediumColor : control.Universal.altMediumLowColor
+ visible: control.down || control.highlighted || control.activeFocus
+ color: control.down ? control.Universal.listMediumColor : control.Universal.altMediumLowColor
Rectangle {
width: parent.width
height: parent.height
diff --git a/src/imports/controls/universal/CheckIndicator.qml b/src/imports/controls/universal/CheckIndicator.qml
index f0858a21..4795ccce 100644
--- a/src/imports/controls/universal/CheckIndicator.qml
+++ b/src/imports/controls/universal/CheckIndicator.qml
@@ -43,10 +43,10 @@ Rectangle {
implicitHeight: 20
color: !control.enabled ? "transparent" :
- control.pressed && control.checkState !== Qt.PartiallyChecked ? control.Universal.baseMediumColor :
+ control.down && control.checkState !== Qt.PartiallyChecked ? control.Universal.baseMediumColor :
control.checkState === Qt.Checked ? control.Universal.accent : "transparent"
border.color: !control.enabled ? control.Universal.baseLowColor :
- control.pressed ? control.Universal.baseMediumColor :
+ control.down ? control.Universal.baseMediumColor :
control.checked ? control.Universal.accent : control.Universal.baseMediumHighColor
border.width: 2 // CheckBoxBorderThemeThickness
@@ -68,6 +68,6 @@ Rectangle {
visible: control.checkState === Qt.PartiallyChecked
color: !control.enabled ? control.Universal.baseLowColor :
- control.pressed ? control.Universal.baseMediumColor : control.Universal.baseMediumHighColor
+ control.down ? control.Universal.baseMediumColor : control.Universal.baseMediumHighColor
}
}
diff --git a/src/imports/controls/universal/ComboBox.qml b/src/imports/controls/universal/ComboBox.qml
index 233dc0b0..01ee0883 100644
--- a/src/imports/controls/universal/ComboBox.qml
+++ b/src/imports/controls/universal/ComboBox.qml
@@ -60,7 +60,7 @@ T.ComboBox {
width: control.width
text: control.textRole ? (Array.isArray(control.model) ? modelData[control.textRole] : model[control.textRole]) : modelData
highlighted: control.highlightedIndex === index
- pressed: highlighted && control.pressed
+ down: highlighted && control.down
}
//! [delegate]
@@ -83,9 +83,9 @@ T.ComboBox {
border.width: 2 // ComboBoxBorderThemeThickness
border.color: !control.enabled ? control.Universal.baseLowColor :
- control.pressed || popup.visible ? control.Universal.baseMediumLowColor : control.Universal.baseMediumLowColor
+ control.down || popup.visible ? control.Universal.baseMediumLowColor : control.Universal.baseMediumLowColor
color: !control.enabled ? control.Universal.baseLowColor :
- control.pressed || popup.visible ? control.Universal.listMediumColor : control.Universal.altMediumLowColor
+ control.down || popup.visible ? control.Universal.listMediumColor : control.Universal.altMediumLowColor
Rectangle {
x: 2
diff --git a/src/imports/controls/universal/Dial.qml b/src/imports/controls/universal/Dial.qml
index cfb325b3..a55bc19f 100644
--- a/src/imports/controls/universal/Dial.qml
+++ b/src/imports/controls/universal/Dial.qml
@@ -67,7 +67,7 @@ T.Dial {
radius: width / 2
color: !control.enabled ? control.Universal.baseLowColor :
- control.pressed ? control.Universal.baseMediumColor : control.Universal.baseMediumHighColor
+ control.down ? control.Universal.baseMediumColor : control.Universal.baseMediumHighColor
transform: [
Translate {
diff --git a/src/imports/controls/universal/ItemDelegate.qml b/src/imports/controls/universal/ItemDelegate.qml
index e01f0368..7066bb3e 100644
--- a/src/imports/controls/universal/ItemDelegate.qml
+++ b/src/imports/controls/universal/ItemDelegate.qml
@@ -73,8 +73,8 @@ T.ItemDelegate {
//! [background]
background: Rectangle {
- visible: control.pressed || control.highlighted || control.activeKeyFocus
- color: control.pressed ? control.Universal.listMediumColor : control.Universal.altMediumLowColor
+ visible: control.down || control.highlighted || control.activeKeyFocus
+ color: control.down ? control.Universal.listMediumColor : control.Universal.altMediumLowColor
Rectangle {
width: parent.width
height: parent.height
diff --git a/src/imports/controls/universal/MenuItem.qml b/src/imports/controls/universal/MenuItem.qml
index dbc41eec..aef20ff9 100644
--- a/src/imports/controls/universal/MenuItem.qml
+++ b/src/imports/controls/universal/MenuItem.qml
@@ -75,7 +75,7 @@ T.MenuItem {
y: control.topPadding + (control.availableHeight - height) / 2
visible: control.checked
- source: !control.checkable ? "" : "image://universal/checkmark/" + (!control.enabled ? control.Universal.baseLowColor : control.pressed ? control.Universal.baseHighColor : control.Universal.baseMediumHighColor)
+ source: !control.checkable ? "" : "image://universal/checkmark/" + (!control.enabled ? control.Universal.baseLowColor : control.down ? control.Universal.baseHighColor : control.Universal.baseMediumHighColor)
}
//! [indicator]
@@ -85,7 +85,7 @@ T.MenuItem {
implicitHeight: 40
color: !control.enabled ? control.Universal.baseLowColor :
- control.pressed ? control.Universal.listMediumColor : control.Universal.altMediumLowColor
+ control.down ? control.Universal.listMediumColor : control.Universal.altMediumLowColor
Rectangle {
x: 1; y: 1
diff --git a/src/imports/controls/universal/RadioDelegate.qml b/src/imports/controls/universal/RadioDelegate.qml
index 623e7e13..3ea37555 100644
--- a/src/imports/controls/universal/RadioDelegate.qml
+++ b/src/imports/controls/universal/RadioDelegate.qml
@@ -83,8 +83,8 @@ T.RadioDelegate {
//! [background]
background: Rectangle {
- visible: control.pressed || control.highlighted || control.activeFocus
- color: control.pressed ? control.Universal.listMediumColor : control.Universal.altMediumLowColor
+ visible: control.down || control.highlighted || control.activeFocus
+ color: control.down ? control.Universal.listMediumColor : control.Universal.altMediumLowColor
Rectangle {
width: parent.width
height: parent.height
diff --git a/src/imports/controls/universal/RadioIndicator.qml b/src/imports/controls/universal/RadioIndicator.qml
index d107da96..3fd74cbf 100644
--- a/src/imports/controls/universal/RadioIndicator.qml
+++ b/src/imports/controls/universal/RadioIndicator.qml
@@ -45,7 +45,7 @@ Rectangle {
border.width: 2 // RadioButtonBorderThemeThickness
border.color: control.checked ? "transparent" :
!control.enabled ? control.Universal.baseLowColor :
- control.pressed ? control.Universal.baseMediumColor : control.Universal.baseMediumHighColor
+ control.down ? control.Universal.baseMediumColor : control.Universal.baseMediumHighColor
property var control
@@ -59,7 +59,7 @@ Rectangle {
color: "transparent"
border.width: 2 // RadioButtonBorderThemeThickness
border.color: !control.enabled ? control.Universal.baseLowColor :
- control.pressed ? control.Universal.baseMediumColor : control.Universal.accent
+ control.down ? control.Universal.baseMediumColor : control.Universal.accent
}
Rectangle {
@@ -72,6 +72,6 @@ Rectangle {
radius: width / 2
opacity: control.checked ? 1 : 0
color: !control.enabled ? control.Universal.baseLowColor :
- control.pressed ? control.Universal.baseMediumColor : control.Universal.baseMediumHighColor
+ control.down ? control.Universal.baseMediumColor : control.Universal.baseMediumHighColor
}
}
diff --git a/src/imports/controls/universal/SwipeDelegate.qml b/src/imports/controls/universal/SwipeDelegate.qml
index 1bcfe083..eace3045 100644
--- a/src/imports/controls/universal/SwipeDelegate.qml
+++ b/src/imports/controls/universal/SwipeDelegate.qml
@@ -71,7 +71,7 @@ T.SwipeDelegate {
color: !control.enabled ? control.Universal.baseLowColor : control.Universal.baseHighColor
Behavior on x {
- enabled: !control.pressed
+ enabled: !control.down
NumberAnimation {
easing.type: Easing.InOutCubic
duration: 400
@@ -83,7 +83,7 @@ T.SwipeDelegate {
//! [background]
background: Rectangle {
color: !control.enabled ? control.Universal.chromeDisabledHighColor :
- (control.pressed ? control.Universal.chromeHighColor :
+ (control.down ? control.Universal.chromeHighColor :
(control.activeKeyFocus || control.hovered ? control.Universal.chromeLowColor : control.Universal.chromeMediumColor))
Rectangle {
@@ -95,7 +95,7 @@ T.SwipeDelegate {
}
Behavior on x {
- enabled: !control.pressed
+ enabled: !control.down
NumberAnimation {
easing.type: Easing.InOutCubic
duration: 400
diff --git a/src/imports/controls/universal/TabButton.qml b/src/imports/controls/universal/TabButton.qml
index 16ee8fec..149de82c 100644
--- a/src/imports/controls/universal/TabButton.qml
+++ b/src/imports/controls/universal/TabButton.qml
@@ -54,7 +54,7 @@ T.TabButton {
text: control.text
font: control.font
elide: Text.ElideRight
- color: control.checked || control.pressed ? control.Universal.baseHighColor : control.Universal.baseLowColor
+ color: control.checked || control.down ? control.Universal.baseHighColor : control.Universal.baseLowColor
horizontalAlignment: Text.AlignHCenter
verticalAlignment: Text.AlignVCenter
}
diff --git a/src/imports/controls/universal/ToolButton.qml b/src/imports/controls/universal/ToolButton.qml
index 06eecf17..14d2d923 100644
--- a/src/imports/controls/universal/ToolButton.qml
+++ b/src/imports/controls/universal/ToolButton.qml
@@ -67,7 +67,7 @@ T.ToolButton {
implicitWidth: 68
implicitHeight: 48 // AppBarThemeCompactHeight
- color: control.pressed ? control.Universal.listMediumColor :
+ color: control.down ? control.Universal.listMediumColor :
control.enabled && (control.highlighted || control.checked) ? control.Universal.accent : "transparent"
}
//! [background]
diff --git a/src/quicktemplates2/qquickabstractbutton.cpp b/src/quicktemplates2/qquickabstractbutton.cpp
index fdcc6fc0..ec6b3d63 100644
--- a/src/quicktemplates2/qquickabstractbutton.cpp
+++ b/src/quicktemplates2/qquickabstractbutton.cpp
@@ -106,7 +106,8 @@ static const int AUTO_REPEAT_INTERVAL = 100;
*/
QQuickAbstractButtonPrivate::QQuickAbstractButtonPrivate() :
- pressed(false), checked(false), checkable(false), highlighted(false), autoExclusive(false), autoRepeat(false), wasHeld(false),
+ down(false), explicitDown(false), pressed(false), checked(false), checkable(false),
+ highlighted(false), autoExclusive(false), autoRepeat(false), wasHeld(false),
holdTimer(0), delayTimer(0), repeatTimer(0), repeatButton(Qt::NoButton), indicator(nullptr), group(nullptr)
{
}
@@ -256,9 +257,51 @@ void QQuickAbstractButton::setText(const QString &text)
}
/*!
+ \qmlproperty bool Qt.labs.controls::AbstractButton::down
+
+ This property holds whether the button is visually down.
+
+ Unless explicitly set, this property follows the value of \l pressed. To
+ return to the default value, set this property to \c undefined.
+
+ \sa pressed
+*/
+bool QQuickAbstractButton::isDown() const
+{
+ Q_D(const QQuickAbstractButton);
+ return d->down;
+}
+
+void QQuickAbstractButton::setDown(bool down)
+{
+ Q_D(QQuickAbstractButton);
+ d->explicitDown = true;
+
+ if (d->down == down)
+ return;
+
+ d->down = down;
+ emit downChanged();
+}
+
+void QQuickAbstractButton::resetDown()
+{
+ Q_D(QQuickAbstractButton);
+ if (!d->explicitDown)
+ return;
+
+ setDown(d->pressed);
+ d->explicitDown = false;
+}
+
+/*!
\qmlproperty bool Qt.labs.controls::AbstractButton::pressed
+ \readonly
- This property holds whether the button is pressed.
+ This property holds whether the button is physically pressed. A button can
+ be pressed by either touch or key events.
+
+ \sa down
*/
bool QQuickAbstractButton::isPressed() const
{
@@ -275,6 +318,11 @@ void QQuickAbstractButton::setPressed(bool isPressed)
d->pressed = isPressed;
setAccessibleProperty("pressed", isPressed);
emit pressedChanged();
+
+ if (!d->explicitDown) {
+ setDown(d->pressed);
+ d->explicitDown = false;
+ }
}
/*!
diff --git a/src/quicktemplates2/qquickabstractbutton_p.h b/src/quicktemplates2/qquickabstractbutton_p.h
index 49de79da..c8e6931f 100644
--- a/src/quicktemplates2/qquickabstractbutton_p.h
+++ b/src/quicktemplates2/qquickabstractbutton_p.h
@@ -58,7 +58,8 @@ class Q_QUICKTEMPLATES2_EXPORT QQuickAbstractButton : public QQuickControl
{
Q_OBJECT
Q_PROPERTY(QString text READ text WRITE setText NOTIFY textChanged FINAL)
- Q_PROPERTY(bool pressed READ isPressed WRITE setPressed NOTIFY pressedChanged FINAL)
+ Q_PROPERTY(bool down READ isDown WRITE setDown NOTIFY downChanged RESET resetDown FINAL)
+ Q_PROPERTY(bool pressed READ isPressed NOTIFY pressedChanged FINAL)
Q_PROPERTY(bool checked READ isChecked WRITE setChecked NOTIFY checkedChanged FINAL)
Q_PROPERTY(bool highlighted READ isHighlighted WRITE setHighlighted NOTIFY highlightedChanged FINAL)
Q_PROPERTY(bool autoExclusive READ autoExclusive WRITE setAutoExclusive NOTIFY autoExclusiveChanged FINAL)
@@ -72,6 +73,10 @@ public:
QString text() const;
void setText(const QString &text);
+ bool isDown() const;
+ void setDown(bool down);
+ void resetDown();
+
bool isPressed() const;
void setPressed(bool pressed);
@@ -104,6 +109,7 @@ Q_SIGNALS:
void pressAndHold();
void doubleClicked();
void textChanged();
+ void downChanged();
void pressedChanged();
void checkedChanged();
void highlightedChanged();
diff --git a/src/quicktemplates2/qquickabstractbutton_p_p.h b/src/quicktemplates2/qquickabstractbutton_p_p.h
index 23e0b52c..7aa2c028 100644
--- a/src/quicktemplates2/qquickabstractbutton_p_p.h
+++ b/src/quicktemplates2/qquickabstractbutton_p_p.h
@@ -79,6 +79,8 @@ public:
QList<QQuickAbstractButton *> findExclusiveButtons() const;
QString text;
+ bool down;
+ bool explicitDown;
bool pressed;
bool checked;
bool checkable;
diff --git a/src/quicktemplates2/qquickcombobox.cpp b/src/quicktemplates2/qquickcombobox.cpp
index e10a8b48..ec75c053 100644
--- a/src/quicktemplates2/qquickcombobox.cpp
+++ b/src/quicktemplates2/qquickcombobox.cpp
@@ -112,6 +112,7 @@ QT_BEGIN_NAMESPACE
*/
/*!
+ \readonly
\qmlsignal void Qt.labs.controls::ComboBox::highlighted(int index)
This signal is emitted when the item at \a index in the popup list is highlighted by the user.
@@ -450,7 +451,6 @@ void QQuickComboBox::setPressed(bool pressed)
}
/*!
- \readonly
\qmlproperty int Qt.labs.controls::ComboBox::highlightedIndex
This property holds the index of the highlighted item in the combo box popup list.
diff --git a/tests/auto/controls/data/tst_button.qml b/tests/auto/controls/data/tst_button.qml
index 06038994..4831bdd6 100644
--- a/tests/auto/controls/data/tst_button.qml
+++ b/tests/auto/controls/data/tst_button.qml
@@ -57,7 +57,7 @@ TestCase {
property SignalSequenceSpy spy: SignalSequenceSpy {
target: control
- signals: ["pressed", "released", "canceled", "clicked", "doubleClicked", "pressedChanged", "checkedChanged"]
+ signals: ["pressed", "released", "canceled", "clicked", "doubleClicked", "pressedChanged", "downChanged", "checkedChanged"]
}
}
}
@@ -80,12 +80,15 @@ TestCase {
verify(control)
// click
- control.spy.expectedSequence = [["pressedChanged", { "pressed": true }], "pressed"]
+ control.spy.expectedSequence = [["pressedChanged", { "pressed": true }],
+ ["downChanged", { "down": true }],
+ "pressed"]
mousePress(control, control.width / 2, control.height / 2, Qt.LeftButton)
compare(control.pressed, true)
verify(control.spy.success)
control.spy.expectedSequence = [["pressedChanged", { "pressed": false }],
+ ["downChanged", { "down": false }],
"released",
"clicked"]
mouseRelease(control, control.width / 2, control.height / 2, Qt.LeftButton)
@@ -93,12 +96,15 @@ TestCase {
verify(control.spy.success)
// release outside
- control.spy.expectedSequence = [["pressedChanged", { "pressed": true }], "pressed"]
+ control.spy.expectedSequence = [["pressedChanged", { "pressed": true }],
+ ["downChanged", { "down": true }],
+ "pressed"]
mousePress(control, control.width / 2, control.height / 2, Qt.LeftButton)
compare(control.pressed, true)
verify(control.spy.success)
- control.spy.expectedSequence = [["pressedChanged", { "pressed": false }]]
+ control.spy.expectedSequence = [["pressedChanged", { "pressed": false }],
+ ["downChanged", { "down": false }]]
mouseMove(control, control.width * 2, control.height * 2, 0, Qt.LeftButton)
compare(control.pressed, false)
verify(control.spy.success)
@@ -119,14 +125,18 @@ TestCase {
// double click
control.spy.expectedSequence = [["pressedChanged", { "pressed": true }],
+ ["downChanged", { "down": true }],
"pressed",
["pressedChanged", { "pressed": false }],
+ ["downChanged", { "down": false }],
"released",
"clicked",
["pressedChanged", { "pressed": true }],
+ ["downChanged", { "down": true }],
"pressed",
"doubleClicked",
["pressedChanged", { "pressed": false }],
+ ["downChanged", { "down": false }],
"released",
"clicked"]
mouseDoubleClickSequence(control, control.width / 2, control.height / 2, Qt.LeftButton)
@@ -144,8 +154,10 @@ TestCase {
// click
control.spy.expectedSequence = [["pressedChanged", { "pressed": true }],
+ ["downChanged", { "down": true }],
"pressed",
["pressedChanged", { "pressed": false }],
+ ["downChanged", { "down": false }],
"released",
"clicked"]
keyClick(Qt.Key_Space)
@@ -185,6 +197,7 @@ TestCase {
var repeatCount = 2
var repeatSequence = [["pressedChanged", { "pressed": true }],
+ ["downChanged", { "down": true }],
"pressed",
"released",
"clicked",
@@ -201,6 +214,7 @@ TestCase {
verify(control.spy.success)
control.spy.expectedSequence = [["pressedChanged", { "pressed": false }],
+ ["downChanged", { "down": false }],
"released",
"clicked"]
mouseRelease(control)
@@ -216,6 +230,7 @@ TestCase {
verify(control.spy.success)
control.spy.expectedSequence = [["pressedChanged", { "pressed": false }],
+ ["downChanged", { "down": false }],
"released",
"clicked"]
keyRelease(Qt.Key_Space)
diff --git a/tests/auto/controls/data/tst_combobox.qml b/tests/auto/controls/data/tst_combobox.qml
index 24df675e..6af82dc5 100644
--- a/tests/auto/controls/data/tst_combobox.qml
+++ b/tests/auto/controls/data/tst_combobox.qml
@@ -644,7 +644,7 @@ TestCase {
autoExclusive: true
checked: _combobox.currentIndex === index
highlighted: _combobox.highlightedIndex === index
- pressed: highlighted && _combobox.pressed
+ down: highlighted && _combobox.pressed
}
}
}
diff --git a/tests/auto/controls/data/tst_toolbutton.qml b/tests/auto/controls/data/tst_toolbutton.qml
index 6c03f18c..ddabb0fc 100644
--- a/tests/auto/controls/data/tst_toolbutton.qml
+++ b/tests/auto/controls/data/tst_toolbutton.qml
@@ -56,6 +56,11 @@ TestCase {
}
SignalSpy {
+ id: downSpy
+ signalName: "downChanged"
+ }
+
+ SignalSpy {
id: clickedSpy
signalName: "clicked"
}
@@ -97,47 +102,66 @@ TestCase {
verify(control)
pressedSpy.target = control
+ downSpy.target = control
clickedSpy.target = control
verify(pressedSpy.valid)
+ verify(downSpy.valid)
verify(clickedSpy.valid)
// check
mousePress(control, control.width / 2, control.height / 2, Qt.LeftToolButton)
compare(pressedSpy.count, 1)
+ compare(downSpy.count, 1)
compare(control.pressed, true)
+ compare(control.down, true)
mouseRelease(control, control.width / 2, control.height / 2, Qt.LeftToolButton)
compare(clickedSpy.count, 1)
compare(pressedSpy.count, 2)
+ compare(downSpy.count, 2)
compare(control.pressed, false)
+ compare(control.down, false)
// uncheck
mousePress(control, control.width / 2, control.height / 2, Qt.LeftToolButton)
compare(pressedSpy.count, 3)
+ compare(downSpy.count, 3)
compare(control.pressed, true)
+ compare(control.down, true)
mouseRelease(control, control.width / 2, control.height / 2, Qt.LeftToolButton)
compare(clickedSpy.count, 2)
compare(pressedSpy.count, 4)
+ compare(downSpy.count, 4)
compare(control.pressed, false)
+ compare(control.down, false)
// release outside
mousePress(control, control.width / 2, control.height / 2, Qt.LeftToolButton)
compare(pressedSpy.count, 5)
+ compare(downSpy.count, 5)
compare(control.pressed, true)
+ compare(control.down, true)
mouseMove(control, control.width * 2, control.height * 2, 0, Qt.LeftToolButton)
compare(control.pressed, false)
+ compare(control.down, false)
mouseRelease(control, control.width * 2, control.height * 2, Qt.LeftToolButton)
compare(clickedSpy.count, 2)
compare(pressedSpy.count, 6)
+ compare(downSpy.count, 6)
compare(control.pressed, false)
+ compare(control.down, false)
// right button
mousePress(control, control.width / 2, control.height / 2, Qt.RightButton)
compare(pressedSpy.count, 6)
+ compare(downSpy.count, 6)
compare(control.pressed, false)
+ compare(control.down, false)
mouseRelease(control, control.width / 2, control.height / 2, Qt.RightButton)
compare(clickedSpy.count, 2)
compare(pressedSpy.count, 6)
+ compare(downSpy.count, 6)
compare(control.pressed, false)
+ compare(control.down, false)
control.destroy()
}
diff --git a/tests/manual/testbench/main.qml b/tests/manual/testbench/main.qml
index 76d945ba..8d0fe7a7 100644
--- a/tests/manual/testbench/main.qml
+++ b/tests/manual/testbench/main.qml
@@ -96,7 +96,7 @@ ApplicationWindow {
}
ToolButton {
text: "Pressed"
- pressed: true
+ down: true
hoverEnabled: true
ToolTip.text: text
ToolTip.delay: 1000
@@ -141,7 +141,7 @@ ApplicationWindow {
}
TabButton {
text: "Pressed"
- pressed: true
+ down: true
}
TabButton {
text: "Disabled"
@@ -169,7 +169,7 @@ ApplicationWindow {
}
Button {
text: "Pressed"
- pressed: true
+ down: true
}
Button {
text: "Checked"
@@ -178,7 +178,7 @@ ApplicationWindow {
Button {
text: "CH + PR"
checked: true
- pressed: true
+ down: true
}
Button {
text: "Disabled"
@@ -201,7 +201,7 @@ ApplicationWindow {
Button {
text: "HI + PR"
highlighted: true
- pressed: true
+ down: true
}
Button {
text: "HI + CH"
@@ -211,7 +211,7 @@ ApplicationWindow {
Button {
text: "HI+CH+PR"
highlighted: true
- pressed: true
+ down: true
checked: true
}
Button {
@@ -233,7 +233,7 @@ ApplicationWindow {
}
CheckBox {
text: "Pressed"
- pressed: true
+ down: true
}
CheckBox {
text: "Checked"
@@ -242,7 +242,7 @@ ApplicationWindow {
CheckBox {
text: "CH + PR"
checked: true
- pressed: true
+ down: true
}
CheckBox {
text: "Disabled"
@@ -261,7 +261,7 @@ ApplicationWindow {
}
RadioButton {
text: "Pressed"
- pressed: true
+ down: true
}
RadioButton {
text: "Checked"
@@ -270,7 +270,7 @@ ApplicationWindow {
RadioButton {
text: "CH + PR"
checked: true
- pressed: true
+ down: true
}
RadioButton {
text: "Disabled"
@@ -289,7 +289,7 @@ ApplicationWindow {
}
Switch {
text: "Pressed"
- pressed: true
+ down: true
}
Switch {
text: "Checked"
@@ -298,7 +298,7 @@ ApplicationWindow {
Switch {
text: "CH + PR"
checked: true
- pressed: true
+ down: true
}
Switch {
text: "Disabled"
@@ -452,7 +452,7 @@ ApplicationWindow {
implicitHeight: normalComboBox.implicitHeight
ComboBox {
- pressed: true
+ down: true
model: ListModel {
ListElement { text: "Pressed" }
}