import QtQuick 2.0 Rectangle { property bool checked: parent.checked property bool down: parent.down property int set_height: parent.font.pixelSize * 1.4 implicitWidth: set_height * 1.84 implicitHeight: set_height x: ready_del.width - width - ready_del.rightPadding y: parent.height / 2 - height / 2 radius: implicitHeight * 0.5 color: parent.checked ? "#17a81a" : "transparent" border.color: parent.checked ? "#17a81a" : "#cccccc" Behavior on color{ ColorAnimation{ duration: 200 } } Rectangle { x: parent.checked ? parent.width - width : 0 width: parent.height height: parent.height radius: height * 0.5 color: parent.down ? "#cccccc" : "#ffffff" border.color: parent.checked ? (parent.down ? "#17a81a" : "#21be2b") : "#999999" Behavior on x{ NumberAnimation { property: "x" duration: 200 easing.type: Easing.InOutQuad } } } }