import QtQuick 2.0
import QtQuick.Controls 2.4

SmoothItemDelegate {
    id: control

    property double sliderValue: 0.5
    signal sliderFinished()

    onSliderValueChanged: {
        slider.value = control.sliderValue
    }

    rightPadding: slider.width + width * 0.02

    Slider {
        id: slider

        anchors {
            right: parent.right
            rightMargin: parent.width * 0.01
            verticalCenter: parent.verticalCenter
        }

        height: control.height * 0.4
        width: parent.width * 0.6

        onValueChanged: {
            control.sliderValue = value
        }

        onPressedChanged: {
            if(!pressed){
                control.sliderFinished()
            }
        }

        background: Rectangle {
            x: slider.leftPadding
            y: slider.topPadding + slider.availableHeight / 2 - height / 2
            implicitWidth: 200
            implicitHeight: 4
            width: slider.availableWidth
            height: slider.height * 0.2
            radius: height * 0.5
            color: "#bdbebf"

            Rectangle {
                width: slider.visualPosition * parent.width
                height: parent.height
                color: "#21be2b"
                radius: height * 0.5
            }
        }

        handle: Rectangle {
            x: slider.leftPadding + slider.visualPosition * (slider.availableWidth - width)
            y: slider.topPadding + slider.availableHeight / 2 - height / 2
            implicitWidth: 26
            implicitHeight: 26

            width: slider.height
            height: width

            radius: height * 0.5
            color: slider.pressed ? "#f0f0f0" : "#f6f6f6"
            border.color: "#bdbebf"
        }
    }

}
