diff options
author | J-P Nurmi <jpnurmi@qt.io> | 2017-03-28 12:36:51 +0200 |
---|---|---|
committer | J-P Nurmi <jpnurmi@qt.io> | 2017-03-28 11:12:38 +0000 |
commit | befa702ce798b35085594233520359e12e2e79e1 (patch) | |
tree | 05c05639fd3b8b458f607be9387bf8b7d8897342 /src/imports/controls/universal/RangeSlider.qml | |
parent | 72e12f8e5ee54a919c254000a017f3f918825406 (diff) |
RangeSlider: add horizontal and vertical properties for convenience
[ChangeLog][Controls][RangeSlider] Added horizontal and vertical
properties to make it more convenient to create orientation-dependent
bindings in styles.
Change-Id: Iac2ae7d4d701cf9516521923cf27416d76dfba5c
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
Diffstat (limited to 'src/imports/controls/universal/RangeSlider.qml')
-rw-r--r-- | src/imports/controls/universal/RangeSlider.qml | 52 |
1 files changed, 23 insertions, 29 deletions
diff --git a/src/imports/controls/universal/RangeSlider.qml b/src/imports/controls/universal/RangeSlider.qml index 9ae77d54..6aab392f 100644 --- a/src/imports/controls/universal/RangeSlider.qml +++ b/src/imports/controls/universal/RangeSlider.qml @@ -51,13 +51,11 @@ T.RangeSlider { padding: 6 first.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.first.visualPosition * (control.availableWidth - width) : (control.availableWidth - width) / 2) - y: control.topPadding + (horizontal ? (control.availableHeight - height) / 2 : control.first.visualPosition * (control.availableHeight - height)) + x: control.leftPadding + (control.horizontal ? control.first.visualPosition * (control.availableWidth - width) : (control.availableWidth - width) / 2) + y: control.topPadding + (control.horizontal ? (control.availableHeight - height) / 2 : control.first.visualPosition * (control.availableHeight - height)) radius: 4 color: control.first.pressed ? control.Universal.chromeHighColor : @@ -66,13 +64,11 @@ T.RangeSlider { } second.handle: Rectangle { - implicitWidth: horizontal ? 8 : 24 - implicitHeight: horizontal ? 24 : 8 - - readonly property bool horizontal: control.orientation === Qt.Horizontal + implicitWidth: control.horizontal ? 8 : 24 + implicitHeight: control.horizontal ? 24 : 8 - x: control.leftPadding + (horizontal ? control.second.visualPosition * (control.availableWidth - width) : (control.availableWidth - width) / 2) - y: control.topPadding + (horizontal ? (control.availableHeight - height) / 2 : control.second.visualPosition * (control.availableHeight - height)) + x: control.leftPadding + (control.horizontal ? control.second.visualPosition * (control.availableWidth - width) : (control.availableWidth - width) / 2) + y: control.topPadding + (control.horizontal ? (control.availableHeight - height) / 2 : control.second.visualPosition * (control.availableHeight - height)) radius: 4 color: control.second.pressed ? control.Universal.chromeHighColor : @@ -81,33 +77,31 @@ T.RangeSlider { } 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 // SliderBackgroundThemeHeight - height: !parent.horizontal ? parent.height : 2 // SliderBackgroundThemeHeight + x: control.horizontal ? 0 : (parent.width - width) / 2 + y: control.horizontal ? (parent.height - height) / 2 : 0 + width: control.horizontal ? parent.width : 2 // SliderBackgroundThemeHeight + height: control.vertical ? parent.height : 2 // SliderBackgroundThemeHeight color: control.hovered && !control.pressed ? control.Universal.baseMediumColor : control.enabled ? control.Universal.baseMediumLowColor : control.Universal.chromeDisabledHighColor } Rectangle { - x: parent.horizontal ? control.first.position * parent.width : (parent.width - width) / 2 - y: parent.horizontal ? (parent.height - height) / 2 : control.second.visualPosition * parent.height - width: parent.horizontal ? control.second.position * parent.width - control.first.position * parent.width : 2 // SliderBackgroundThemeHeight - height: !parent.horizontal ? control.second.position * parent.height - control.first.position * parent.height : 2 // SliderBackgroundThemeHeight + x: control.horizontal ? control.first.position * parent.width : (parent.width - width) / 2 + y: control.horizontal ? (parent.height - height) / 2 : control.second.visualPosition * parent.height + width: control.horizontal ? control.second.position * parent.width - control.first.position * parent.width : 2 // SliderBackgroundThemeHeight + height: control.vertical ? control.second.position * parent.height - control.first.position * parent.height : 2 // SliderBackgroundThemeHeight color: control.enabled ? control.Universal.accent : control.Universal.chromeDisabledHighColor } |