summaryrefslogtreecommitdiffstats
path: root/RadioTuner/rangemodel.js
blob: 88aa5570b31e9bb615ed7f1774c2a040cfdd0bd1 (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
90
91
92
93
var startRange = 860;
var finalRange = 2090;
var middleRange = 11;
var k = 0;
var actualItem = 0;
var stationsArray = [];
var indexArray = [];

function createModel(stationsModel){
    createArray(stationsModel);

    var component = createComponent("RadioModel.qml");
    var object = component.createObject();
    populateModel(object);

    return object
}

function populateModel(model){
    for(var i=startRange;i<=finalRange;i++) {
        var range = i/10.0;
        var stationName = "none";
        var stationDial = hasStation(range, k);
        if(stationDial != -1)
            stationName = stationsArray[range];
        var object = {stationRange:range, kind:setKind(i), station:stationDial, stationName:stationName}
        model.append(object);
        k++
    }
}

function createArray(model){
    for(var i=0;i<=model.count-1;i++) {
        var object = new Object();
        stationsArray[model.get(i).dial] = model.get(i).name;
    }

}

function setKind(index){

    if(index%10 == 0) {
        return "high"
    }
    else if(index%5 == 0) {
        return "medium"
    }

    return "low"
}

function hasStation(range, k){
    if(stationsArray[range] != undefined){
        var object = new Object();
        object.index = k;
        object.dial = range;
        object.name = stationsArray[range]
        indexArray.push(object);
        return range
    }
    return -1
}

function gotoradioIndex(index){
    return indexArray[index].index - middleRange
}

function setStationName(index){
    return indexArray[index].name
}

function setStationDial(index){
    return indexArray[index].dial
}

function gotoNextStation(list, stationText, dialText){
    actualItem++
    if(actualItem > indexArray.length-1)
        actualItem = indexArray.length-1
    list.currentIndex = indexArray[actualItem].index - middleRange;
    stationText.text = setStationName(actualItem);
    dialText.text = setStationDial(actualItem);
}

function gotoPreviousStation(list, stationText, dialText){
    actualItem--
    if(actualItem < 0)
        actualItem = 0
    list.currentIndex = indexArray[actualItem].index - middleRange;
    stationText.text = setStationName(actualItem);
    dialText.text = setStationDial(actualItem);
}