2
import org.kde.plasma.components 0.1
6
property int current: 0
7
property QtObject dataModel
8
property QtObject currentElement: dataModel.get(current)
9
property Component delegate
10
property Item currentItem
14
onDelegateChanged: restoreView()
15
onCurrentElementChanged: restoreView()
16
onDataModelChanged: current = 0
18
Component.onCompleted: viewItem.visible=true
20
function restoreView() { return restoreViewInternal(!viewItem.visible); }
21
function restoreViewInternal(force) {
22
if(!delegate || (destroyAnimation.running && !force) || !currentElement) {
27
var oldItem = viewItem.currentItem
28
viewItem.currentItem = delegate.createObject(viewItem, { "modelData": currentElement })
29
viewItem.currentItem.anchors.fill=viewItem
35
viewItem.currentItem.opacity = 0
36
oldItem.z = viewItem.currentItem.z+1
37
fadeoutAnimation.target = oldItem
38
fadeinAnimation.target = viewItem.currentItem
39
destroyAnimation.start()
43
console.log("error: "+e)
44
console.log("comp error: "+delegate.errorString())
50
property real endOfWindow: 1230
56
to: viewItem.endOfWindow
57
property: "anchors.leftMargin"
58
easing.type: Easing.InQuad
62
to: -viewItem.endOfWindow
63
property: "anchors.rightMargin"
64
target: fadeoutAnimation.target
65
easing.type: fadeoutAnimation.easing.type
72
target: fadeoutAnimation.target
73
easing.type: Easing.InQuad
81
target: viewItem.currentItem
82
easing.type: Easing.InQuad
84
onCompleted: fadeoutAnimation.target.destroy()
88
viewItem.current = (viewItem.current+1)%dataModel.count
91
var val = viewItem.current-1
93
val = dataModel.count-1
94
viewItem.current = val
99
onClicked: info.next()
104
interval: 5000; running: viewItem.visible; repeat: true
105
onTriggered: info.next()
b'\\ No newline at end of file'