summaryrefslogtreecommitdiffstats
path: root/examples/declarative/xmldata/daringfireball.qml
blob: c5732c05ff0f07a815140b604d49ab98e3d78e12 (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
import Qt 4.7

Rectangle {
    color: "white"
    width: 600; height: 600

    XmlListModel {
        id: feedModel
        source: "http://daringfireball.net/index.xml"
        query: "/feed/entry"
        namespaceDeclarations: "declare default element namespace 'http://www.w3.org/2005/Atom';"
        XmlRole { name: "title"; query: "title/string()" }
        XmlRole { name: "tagline"; query: "author/name/string()" }
        XmlRole { name: "content"; query: "content/string()" }
    }

    Component {
        id: feedDelegate
        Item {
            height: childrenRect.height + 20
            Text {
                id: titleText
                x: 10
                text: title; font.bold: true
            }
            Text {
                text: 'by ' + tagline
                anchors.left: titleText.right; anchors.leftMargin: 10
                font.italic: true
            }
            Text {
                x: 10
                text: content
                anchors.top: titleText.bottom
                width: 580; wrapMode: Text.WordWrap
                onLinkActivated: { console.log('link clicked: ' + link) }
            }
        }
    }

    ListView {
        anchors.fill: parent
        model: feedModel; delegate: feedDelegate
    }
}