~ories/+junk/digitalsign_ted

« back to all changes in this revision

Viewing changes to digitalsign.qml

  • Committer: olli at olli-ries
  • Date: 2015-07-01 20:10:33 UTC
  • Revision ID: olli@olli-ries.net-20150701201033-7e3bsjnsc8k7owoi
for Teddy

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
import QtQuick 2.0
 
2
import QtQuick.Controls 1.1
 
3
import QtMultimedia 5.0
 
4
 
 
5
 
 
6
ApplicationWindow {
 
7
    id: window
 
8
    visible: true
 
9
    visibility: "FullScreen"
 
10
 
 
11
 
 
12
    MediaPlayer {
 
13
        id: mediaplayer
 
14
    }
 
15
 
 
16
    Image {
 
17
        id: pic1
 
18
        visible: true
 
19
        source: './pic.jpg'
 
20
    }
 
21
    Image {
 
22
        id: pic2
 
23
        visible: false
 
24
        opacity: 0
 
25
        anchors.fill: pic1
 
26
    }
 
27
 
 
28
    Timer {
 
29
        id: showTimer
 
30
        onTriggered: show()
 
31
        repeat: false
 
32
    }
 
33
 
 
34
    ListModel {
 
35
        id: objectlist
 
36
    }
 
37
 
 
38
    Component.onCompleted: getData();
 
39
 
 
40
    property int m_position: 0
 
41
    property bool m_loop: true
 
42
 
 
43
    function show(){
 
44
 
 
45
        if(m_loop){
 
46
            if(m_position >= objectlist.count ){
 
47
                m_position = 0;
 
48
                console.log("here")
 
49
            }
 
50
        }
 
51
        else{
 
52
            if(m_position >= objectlist.count ){
 
53
                Qt.quit()
 
54
            }
 
55
        }
 
56
 
 
57
        pic1.source = objectlist.get(m_position).url;
 
58
        showTimer.interval = objectlist.get(m_position).duration;
 
59
 
 
60
        console.log(showTimer.interval)
 
61
 
 
62
        m_position++;
 
63
 
 
64
        showTimer.start();
 
65
 
 
66
    }    
 
67
 
 
68
    function getData() {
 
69
        var xmlhttp = new XMLHttpRequest();
 
70
 
 
71
        var url = "file:///tmp/album.json";
 
72
 
 
73
        xmlhttp.open("GET", url);
 
74
        xmlhttp.send();
 
75
 
 
76
        xmlhttp.onreadystatechange=function() {
 
77
            if (xmlhttp.readyState == 4) {
 
78
                parseResponse(xmlhttp.responseText);
 
79
            }
 
80
            else{
 
81
                console.log(xmlhttp.responseText)
 
82
            }
 
83
        }
 
84
 
 
85
    }
 
86
 
 
87
    function parseResponse(response) {
 
88
        var arr = JSON.parse(response);
 
89
        var f = arr["objects"];
 
90
 
 
91
        m_loop = arr["loop"];
 
92
 
 
93
        for(var i = 0; i < f.length; i++) {
 
94
            objectlist.append( { "url": f[i].url, "duration":f[i].duration })
 
95
        }
 
96
        console.log(objectlist.count)
 
97
        show();
 
98
    }
 
99
 
 
100
}