Enable wheel events on Slider {}
Summary: So far PC3 version of the slider doesn't react to events, this change enables it. Test Plan: Used it with a test. Reviewers: #plasma, broulik, davidedmundson Reviewed By: #plasma, davidedmundson Subscribers: davidedmundson, kde-frameworks-devel Tags: #frameworks Differential Revision: https://phabricator.kde.org/D26055
This commit is contained in:
parent
6f183b4ce4
commit
66122410a1
@ -28,7 +28,7 @@ T.Slider {
|
|||||||
implicitWidth: control.orientation === Qt.Horizontal ? units.gridUnit * 12 : units.gridUnit * 1.6
|
implicitWidth: control.orientation === Qt.Horizontal ? units.gridUnit * 12 : units.gridUnit * 1.6
|
||||||
implicitHeight: control.orientation === Qt.Horizontal ? units.gridUnit * 1.6 : units.gridUnit * 12
|
implicitHeight: control.orientation === Qt.Horizontal ? units.gridUnit * 1.6 : units.gridUnit * 12
|
||||||
|
|
||||||
|
wheelEnabled: true
|
||||||
snapMode: T.Slider.SnapOnRelease
|
snapMode: T.Slider.SnapOnRelease
|
||||||
|
|
||||||
PlasmaCore.Svg {
|
PlasmaCore.Svg {
|
||||||
@ -94,14 +94,16 @@ T.Slider {
|
|||||||
|
|
||||||
Repeater {
|
Repeater {
|
||||||
id: repeater
|
id: repeater
|
||||||
model: control.stepSize > 0 ? 1 + (control.to - control.from) / control.stepSize : 0
|
readonly property int stepCount: (control.to - control.from) / control.stepSize
|
||||||
|
model: control.stepSize && stepCount < 20 ? 1 + stepCount : 0
|
||||||
anchors.fill: parent
|
anchors.fill: parent
|
||||||
|
|
||||||
Rectangle {
|
Rectangle {
|
||||||
color: PlasmaCore.ColorScope.textColor
|
color: PlasmaCore.ColorScope.textColor
|
||||||
|
opacity: 0.3
|
||||||
width: background.horizontal ? units.devicePixelRatio : units.gridUnit/2
|
width: background.horizontal ? units.devicePixelRatio : units.gridUnit/2
|
||||||
height: background.horizontal ? units.gridUnit/2 : units.devicePixelRatio
|
height: background.horizontal ? units.gridUnit/2 : units.devicePixelRatio
|
||||||
y: background.horizontal ? background.height : handle.height / 2 + index * ((repeater.height - handle.height) / (repeater.count > 1 ? repeater.count - 1 : 1))
|
y: background.horizontal ? background.height + units.devicePixelRatio : handle.height / 2 + index * ((repeater.height - handle.height) / (repeater.count > 1 ? repeater.count - 1 : 1))
|
||||||
x: background.horizontal ? handle.width / 2 + index * ((repeater.width - handle.width) / (repeater.count > 1 ? repeater.count - 1 : 1)) : background.width
|
x: background.horizontal ? handle.width / 2 + index * ((repeater.width - handle.width) / (repeater.count > 1 ? repeater.count - 1 : 1)) : background.width
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
54
tests/components/slider3.qml
Normal file
54
tests/components/slider3.qml
Normal file
@ -0,0 +1,54 @@
|
|||||||
|
import QtQuick 2.0
|
||||||
|
import QtQuick.Layouts 1.3
|
||||||
|
|
||||||
|
import org.kde.kirigami 2.5 as Kirigami
|
||||||
|
import org.kde.plasma.components 3.0
|
||||||
|
import QtQuick.Controls 2.5 as QQC2
|
||||||
|
import org.kde.plasma.components 2.0 as PC2
|
||||||
|
|
||||||
|
// Run with qmlscene to use qqc2-desktop-style
|
||||||
|
|
||||||
|
Kirigami.ApplicationWindow {
|
||||||
|
pageStack.initialPage: Kirigami.Page {
|
||||||
|
Kirigami.FormLayout {
|
||||||
|
anchors.fill: parent
|
||||||
|
PC2.Slider {
|
||||||
|
Layout.fillWidth: true
|
||||||
|
Kirigami.FormData.label: "PC2 slider"
|
||||||
|
maximumValue: slider.to
|
||||||
|
stepSize: slider.stepSize
|
||||||
|
}
|
||||||
|
QQC2.Slider {
|
||||||
|
Layout.fillWidth: true
|
||||||
|
Kirigami.FormData.label: "QQC2 slider"
|
||||||
|
to: slider.to
|
||||||
|
stepSize: slider.stepSize
|
||||||
|
}
|
||||||
|
Slider {
|
||||||
|
id: slider
|
||||||
|
Kirigami.FormData.label: "PC3 slider"
|
||||||
|
to: max.text
|
||||||
|
stepSize: 1
|
||||||
|
clip: true
|
||||||
|
}
|
||||||
|
TextField {
|
||||||
|
id: max
|
||||||
|
Kirigami.FormData.label: "maximumValue: "
|
||||||
|
text: "100"
|
||||||
|
}
|
||||||
|
Label {
|
||||||
|
Kirigami.FormData.label: "value: "
|
||||||
|
text: slider.value
|
||||||
|
}
|
||||||
|
Slider {
|
||||||
|
Kirigami.FormData.label: "Choose step size: "
|
||||||
|
to: slider.to * 2
|
||||||
|
onMoved: slider.stepSize = value
|
||||||
|
}
|
||||||
|
Label {
|
||||||
|
Kirigami.FormData.label: "Step size: "
|
||||||
|
text: slider.stepSize
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user