feat(StatusSlider): introduce StatusSlider component

This commit is contained in:
Pascal Precht 2020-08-12 11:08:18 +02:00 committed by Iuri Matias
parent 4f7486afbe
commit 7359f25c31
2 changed files with 55 additions and 0 deletions

View File

@ -0,0 +1,54 @@
import QtQuick 2.13
import QtQuick.Controls.Styles 1.4
import QtGraphicalEffects 1.13
import QtQuick.Controls 1.4 as QQC1
import "../imports"
QQC1.Slider {
id: slider
anchors.left: parent.left
anchors.right: parent.right
stepSize: ((slider.maximumValue - slider.minimumValue) / 10).toFixed(1)
style: SliderStyle {
groove: Rectangle {
implicitHeight: 4
color: {
if (control.value === control.maximumValue) {
return Style.current.blue
}
return Style.current.lightBlue
}
radius: 10
Rectangle {
radius: 10
anchors.fill: parent
visible: control.value > control.minimumValue && control.value < control.maximumValue
gradient: Gradient {
GradientStop { color: Style.current.blue ; position: 0 }
GradientStop { color: Style.current.lightBlue ; position: (((control.value - control.minimumValue)*100)/(control.maximumValue - control.minimumValue)/100).toFixed(2) }
GradientStop { color: Style.current.blue ; position: (((control.value - control.minimumValue)*100)/(control.maximumValue - control.minimumValue)/100).toFixed(2) }
GradientStop { color: Style.current.lightBlue ; position: 1 }
orientation: Gradient.Horizontal
}
}
}
handle: Rectangle {
anchors.centerIn: parent
color: control.pressed ? Style.current.grey : Style.current.white
implicitWidth: 28
implicitHeight: 28
radius: 14
layer.enabled: true
layer.effect: DropShadow {
width: parent.width
height: parent.height
visible: true
verticalOffset: 2
samples: 15
fast: true
cached: true
color: "#22000000"
}
}
}
}

View File

@ -19,3 +19,4 @@ CopyToClipBoardButton 1.0 CopyToClipBoardButton.qml
NotificationWindow 1.0 NotificationWindow.qml
BlockContactConfirmationDialog 1.0 BlockContactConfirmationDialog.qml
ConfirmationDialog 1.0 ConfirmationDialog.qml
StatusSlider 1.0 StatusSlider.qml