aboutsummaryrefslogtreecommitdiffstats
path: root/src/imports/controls/universal/Slider.qml
diff options
context:
space:
mode:
authorJ-P Nurmi <jpnurmi@qt.io>2017-03-28 11:37:34 +0200
committerJ-P Nurmi <jpnurmi@qt.io>2017-03-28 11:12:35 +0000
commit72e12f8e5ee54a919c254000a017f3f918825406 (patch)
tree37d7eed07ad198002aabf89bb626ba87f662ba07 /src/imports/controls/universal/Slider.qml
parentb44048ae27bd916d0eaa1e7d6a5456488ff76f29 (diff)
Slider: add horizontal and vertical properties for convenience
[ChangeLog][Controls][Slider] Added horizontal and vertical properties to make it more convenient to create orientation-dependent bindings in styles. Change-Id: Iec3332f873e482590ab4f0cca08323c905527c77 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
Diffstat (limited to 'src/imports/controls/universal/Slider.qml')
-rw-r--r--src/imports/controls/universal/Slider.qml42
1 files changed, 19 insertions, 23 deletions
diff --git a/src/imports/controls/universal/Slider.qml b/src/imports/controls/universal/Slider.qml
index 090f20d6..bc483c3a 100644
--- a/src/imports/controls/universal/Slider.qml
+++ b/src/imports/controls/universal/Slider.qml
@@ -51,13 +51,11 @@ T.Slider {
property bool useSystemFocusVisuals: true
handle: Rectangle {
- implicitWidth: horizontal ? 8 : 24
- implicitHeight: horizontal ? 24 : 8
+ implicitWidth: control.horizontal ? 8 : 24
+ implicitHeight: control.horizontal ? 24 : 8
- readonly property bool horizontal: control.orientation === Qt.Horizontal
-
- x: control.leftPadding + (horizontal ? control.visualPosition * (control.availableWidth - width) : (control.availableWidth - width) / 2)
- y: control.topPadding + (horizontal ? (control.availableHeight - height) / 2 : control.visualPosition * (control.availableHeight - height))
+ x: control.leftPadding + (control.horizontal ? control.visualPosition * (control.availableWidth - width) : (control.availableWidth - width) / 2)
+ y: control.topPadding + (control.horizontal ? (control.availableHeight - height) / 2 : control.visualPosition * (control.availableHeight - height))
radius: 4
color: control.pressed ? control.Universal.chromeHighColor :
@@ -66,33 +64,31 @@ T.Slider {
}
background: Item {
- implicitWidth: horizontal ? 200 : 18
- implicitHeight: horizontal ? 18 : 200
-
- readonly property bool horizontal: control.orientation === Qt.Horizontal
+ implicitWidth: control.horizontal ? 200 : 18
+ implicitHeight: control.horizontal ? 18 : 200
- x: control.leftPadding + (horizontal ? 0 : (control.availableWidth - width) / 2)
- y: control.topPadding + (horizontal ? (control.availableHeight - height) / 2 : 0)
- width: horizontal ? control.availableWidth : implicitWidth
- height: horizontal ? implicitHeight : control.availableHeight
+ x: control.leftPadding + (control.horizontal ? 0 : (control.availableWidth - width) / 2)
+ y: control.topPadding + (control.horizontal ? (control.availableHeight - height) / 2 : 0)
+ width: control.horizontal ? control.availableWidth : implicitWidth
+ height: control.horizontal ? implicitHeight : control.availableHeight
- scale: horizontal && control.mirrored ? -1 : 1
+ scale: control.horizontal && control.mirrored ? -1 : 1
Rectangle {
- x: parent.horizontal ? 0 : (parent.width - width) / 2
- y: parent.horizontal ? (parent.height - height) / 2 : 0
- width: parent.horizontal ? parent.width : 2 // SliderTrackThemeHeight
- height: !parent.horizontal ? parent.height : 2 // SliderTrackThemeHeight
+ x: control.horizontal ? 0 : (parent.width - width) / 2
+ y: control.horizontal ? (parent.height - height) / 2 : 0
+ width: control.horizontal ? parent.width : 2 // SliderTrackThemeHeight
+ height: !control.horizontal ? parent.height : 2 // SliderTrackThemeHeight
color: control.hovered && !control.pressed ? control.Universal.baseMediumColor :
control.enabled ? control.Universal.baseMediumLowColor : control.Universal.chromeDisabledHighColor
}
Rectangle {
- x: parent.horizontal ? 0 : (parent.width - width) / 2
- y: parent.horizontal ? (parent.height - height) / 2 : control.visualPosition * parent.height
- width: parent.horizontal ? control.position * parent.width : 2 // SliderTrackThemeHeight
- height: !parent.horizontal ? control.position * parent.height : 2 // SliderTrackThemeHeight
+ x: control.horizontal ? 0 : (parent.width - width) / 2
+ y: control.horizontal ? (parent.height - height) / 2 : control.visualPosition * parent.height
+ width: control.horizontal ? control.position * parent.width : 2 // SliderTrackThemeHeight
+ height: !control.horizontal ? control.position * parent.height : 2 // SliderTrackThemeHeight
color: control.enabled ? control.Universal.accent : control.Universal.chromeDisabledHighColor
}