import QtQuick 2.0
import QtQuick.Controls 2.2

ItemDelegate {
    id: control
    text: ""
    property color textColor: appTheme.theme.colors.text
    property alias backgroundRect: backgroundRect
    property color color: appTheme.theme.colors.delegateBackground

    font.pixelSize: height * 0.4

    opacity: enabled ? 1 : 0.2

    contentItem: Text {
        visible: false
    }

    Text {

        anchors {
            verticalCenter: parent.verticalCenter
            left: parent.left
            leftMargin: control.width * 0.02
            right: parent.right
            rightMargin: control.rightPadding
        }

        text: control.text
        color: appTheme.theme.colors.text

        verticalAlignment: Text.AlignVCenter
        horizontalAlignment: Text.AlignLeft

        fontSizeMode: Text.Fit

        font.pixelSize: control.font.pixelSize

        minimumPixelSize: 1
    }

    width: parent.width

    background: Rectangle {
        id: backgroundRect
        color: control.down ? appTheme.theme.colors.delegatePressed : appTheme.theme.colors.delegateBackground

        radius: height * 0.3

        Behavior on color {
            ColorAnimation {
                duration: 200
            }
        }
    }

    Behavior on opacity {
        NumberAnimation {
            duration: 200
        }
    }
}
