import
QtQuick
2.0
Item {
property string soureName
Loader {
id: dropAreaLoader
y: dropIcon.y - 730
asynchronous: true
visible: y != -base.height && status == Loader.Ready
}
Connections {
target: dropAreaLoader.item
onExitSetting: {
dropIcon.y = 10
}
}
Rectangle {
id: dropIcon
x: 580
y: 10
width: 40
height: 10
color: "red"
Drag.active: dragArea.drag.active
PropertyAnimation {
id: upAnimation;
target: dropIcon;
properties: "y";
to: 10;
duration: 150;
easing.type: Easing.Linear
}
PropertyAnimation {
id: downAnimation;
target: dropIcon;
properties: "y";
to: 730;
duration: 500;
easing.type: Easing.Linear
}
MouseArea {
id: dragArea
anchors.fill: parent
drag.target: parent
drag.axis: Drag.YAxis
drag.minimumY:10
drag.maximumY:730
onReleased: {
if(dropIcon.y < 80) {
upAnimation.start()
} else {
downAnimation.start()
}
}
drag.onActiveChanged: {
if(drag.active && dropAreaLoader.status == Loader.Null) {
dropAreaLoader.source = soureName
}
}
}
}
}