QML. Анимация градиета

Пример взят отсюда. Добавлен mouseExitAnim. Одним файлом *.qml код выглядит так:
import QtQuick 1.1
 
Rectangle {
    property string rsGradientStop0: "#FF7C7C7C" // свойство для хранения цвета
    property string rsGradientStop1: "#FF4E4E4E"
    id: greyButton
    width: 85
    height: 23
    border.color: "Wheat"
    gradient: Gradient { // добавление градиента
        GradientStop {
            id: gradientStop0
            position: 0
            color: rsGradientStop0
        }
        GradientStop {
            id: gradientStop1
            position: 1
            color: rsGradientStop1
        }
    }
    Text {
        id: text
        color: "Wheat"
        text: qsTr("Ok")
        font.underline: false
        font.bold: false
        font.pixelSize: 12
        anchors.centerIn: parent
    }
    ParallelAnimation {
        id: mouseEnterAnim
        PropertyAnimation {
            target: gradientStop0 // id градиента
            properties: "color"
            to: rsGradientStop1
            duration: 300
        }
        PropertyAnimation {
            target: gradientStop1
            properties: "color"
            to: rsGradientStop0
            duration: 300
        }
    }
    ParallelAnimation {
        id: mouseExitAnim
        PropertyAnimation {
            target: gradientStop0
            properties: "color"
            to: rsGradientStop0
            duration: 300
        }
        PropertyAnimation {
            target: gradientStop1
            properties: "color"
            to: rsGradientStop1
            duration: 300
        }
    }
    MouseArea {
        id: mouse
        anchors.fill: greyButton
        hoverEnabled: true
        onEntered: mouseEnterAnim.start()
        onExited: mouseExitAnim.start()
    }
}
Другими словами, у объекта GradientStop при событии анимируется изменение свойства color к определенному значению.