QGCCheckBox.qml 3.2 KB
Newer Older
1 2
import QtQuick                  2.3
import QtQuick.Controls         1.2
3
import QtQuick.Controls.Styles  1.4
Don Gagne's avatar
Don Gagne committed
4

5 6
import QGroundControl.Palette       1.0
import QGroundControl.ScreenTools   1.0
Don Gagne's avatar
Don Gagne committed
7 8

CheckBox {
9
    property var __qgcPal: QGCPalette { colorGroupEnabled: enabled }
Don Gagne's avatar
Don Gagne committed
10 11 12

    style: CheckBoxStyle {
        label: Item {
13
            implicitWidth:  text.implicitWidth + 2
Don Gagne's avatar
Don Gagne committed
14
            implicitHeight: text.implicitHeight
Don Gagne's avatar
Don Gagne committed
15
            baselineOffset: text.baselineOffset
16

Don Gagne's avatar
Don Gagne committed
17
            Rectangle {
18
                anchors.margins:    -1
Don Gagne's avatar
Don Gagne committed
19 20
                anchors.leftMargin: -3
                anchors.rightMargin: -3
21 22 23 24 25 26 27
                anchors.fill:       text
                visible:            control.activeFocus
                height:             6
                radius:             3
                color:              "#224f9fef"
                border.color:       "#47b"
                opacity:            0.6
Don Gagne's avatar
Don Gagne committed
28
            }
29

Don Gagne's avatar
Don Gagne committed
30
            Text {
31 32
                id:             text
                text:           control.text
33
                antialiasing:   true
34
                font.pointSize: ScreenTools.defaultFontPointSize
35 36
                font.family:    ScreenTools.normalFontFamily
                color:          control.__qgcPal.text
dogmaphobic's avatar
dogmaphobic committed
37
                anchors.verticalCenter: parent.verticalCenter
Don Gagne's avatar
Don Gagne committed
38
            }
39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88
        } // label

        indicator:  Item {
            implicitWidth:  ScreenTools.implicitCheckBoxWidth
            implicitHeight: implicitWidth

            Rectangle {
                anchors.fill: parent
                anchors.bottomMargin: -1
                color: "#44ffffff"
                radius: baserect.radius
            }

            Rectangle {
                id: baserect
                gradient: Gradient {
                    GradientStop {color: "#eee" ; position: 0}
                    GradientStop {color: control.pressed ? "#eee" : "#fff" ; position: 0.1}
                    GradientStop {color: "#fff" ; position: 1}
                }
                radius: ScreenTools.defaultFontPixelHeight * 0.16
                anchors.fill: parent
                border.color: control.activeFocus ? "#47b" : "#999"
            }

            Image {
                source: "/qmlimages/check.png"
                opacity: control.checkedState === Qt.Checked ? control.enabled ? 1 : 0.5 : 0
                anchors.centerIn: parent
                anchors.verticalCenterOffset: 1
                Behavior on opacity {NumberAnimation {duration: 80}}
            }

            Rectangle {
                anchors.fill: parent
                anchors.margins: Math.round(baserect.radius)
                antialiasing: true
                gradient: Gradient {
                    GradientStop {color: control.pressed ? "#555" : "#999" ; position: 0}
                    GradientStop {color: "#555" ; position: 1}
                }
                radius: baserect.radius - 1
                anchors.centerIn: parent
                anchors.alignWhenCentered: true
                border.color: "#222"
                Behavior on opacity {NumberAnimation {duration: 80}}
                opacity: control.checkedState === Qt.PartiallyChecked ? control.enabled ? 1 : 0.5 : 0
            }
        } // indicator
    } // style
Don Gagne's avatar
Don Gagne committed
89
}