summaryrefslogtreecommitdiffstats
path: root/demo3/horizontal/launcher/launcher/qml/ChangeItemPosition.js
blob: 9fae07c5b359784c0d021b038ca86c83302309a3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
function next() {
    repeater.currentItem += 1;
    if (repeater.currentItem > repeater.count - 1)
    {
        repeater.currentItem = 0;
    }
    var count = 0;

    for (var i = 0; i < repeater.count; i++)
    {
        var item = repeater.itemAt(i);
        item.currentState -= 1;
        if ( item.currentState < 1 )
        {
            item.currentState = repeater.count;
        }
        if ( item.currentState >= 1 && item.currentState <= 10 )
        {
            item.state = "pos" + item.currentState
        } else if ( item.currentState === 15 ){
            item.state = "pos11";
        } else if ( item.currentState === 16 ){
            item.state = "pos12";
        } else if ( item.currentState === 17 ){
            item.state = "pos13";
        } else if ( item.currentState >= 18 ){
            item.state = "pos0";
        } else {
            item.state = "pos10";
        }
    }
}

function prev() {
    repeater.currentItem -= 1;
    if (repeater.currentItem < 0)
    {
        repeater.currentItem = repeater.count - 1;
    }
    var count = repeater.count;
    for (var i = 0; i < repeater.count; i++)
    {
        var item = repeater.itemAt(i);
        item.currentState += 1;
        if ( item.currentState > repeater.count )
        {
            item.currentState = 1;
        }
        if ( item.currentState >= 1 && item.currentState <= 10 )
        {
            item.state = "pos" + item.currentState
        } else if ( item.currentState === 15 ){
            item.state = "pos11";
        } else if ( item.currentState === 16 ){
            item.state = "pos12";
        } else if ( item.currentState === 17 ){
            item.state = "pos13";
        } else if ( item.currentState >= 18 ){
            item.state = "pos0";
        } else {
            item.state = "pos10";
        }
    }
}

function move(pos, item) {
    var distance = firstPox - pos;
    if(distance > 200) {
        next()
        firstPox = pos
        iconMoved = true
        item.iconReleased()
    } else if (distance < -200) {
        prev()
        firstPox = pos
        iconMoved = true
        item.iconReleased()
    }
}

function getCenterItem() {
    var item;
    for (var i = 0; i < repeater.count; i++)
    {
        item = repeater.itemAt(i)
        if (item.state === "pos5" || item.state === "pos14")
            return item
    }
}