Slider.qml 1.29 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
import QtQuick 2.7
import QtQuick.Controls 2.2 as Controls

import Common.Styles 1.0

// =============================================================================

Controls.Slider {
  id: slider

  background: Rectangle {
    color: SliderStyle.background.color

    x: slider.leftPadding
    y: slider.topPadding + slider.availableHeight / 2 - height / 2

    implicitHeight: SliderStyle.background.height
    implicitWidth: SliderStyle.background.width

    height: implicitHeight
    width: slider.availableWidth

    radius: SliderStyle.background.radius

    Rectangle {
      color: SliderStyle.background.content.color

      height: parent.height
      width: slider.visualPosition * parent.width

      radius: SliderStyle.background.content.radius
    }
  }

  handle: Rectangle {
    border.color: slider.pressed
      ? SliderStyle.handle.border.color.pressed
      : SliderStyle.handle.border.color.normal

    color: slider.pressed
      ? SliderStyle.handle.color.pressed
      : SliderStyle.handle.color.normal

    x: slider.leftPadding + slider.visualPosition * (slider.availableWidth - width)
    y: slider.topPadding + slider.availableHeight / 2 - height / 2

    implicitWidth: SliderStyle.handle.width
    implicitHeight: SliderStyle.handle.height

    radius: SliderStyle.handle.radius
  }
}