2 import QtQml.XmlListModel
5 import "qrc:/tlb/ui/qml/templates"
6 /* import tlb.ui 1.0 */
8 /* This view provides a summary of all podcasts. */
13 * - most recent updated
15 * - most recently listened
16 * - most episodes listened
17 * - least episodes listened
20 * - most hours available
21 * - shortest average episode
22 * - longest average episode
25 /* with this fake data, provide a condensed list */
32 /* TODO: property holds fake data in it. */
33 /* readonly property var podcastNames: [ */
36 /* "liberty report", */
42 /* Load the real data from xml */
45 source: "file:///home/tlb/dev/git/android-qt-sandbox/example-data/collection_opml.xml"
46 query: "/opml/body/outline/outline"
47 XmlListModelRole { name: "title"
48 attributeName: "text" }
49 XmlListModelRole { name: "url"
50 attributeName: "xmlUrl" }
53 property bool pressDown: false
54 property real curMouseX: 0.0
55 property real curMouseY: 0.0
56 property real jumpPos: 0.0
57 /* property alias showBox: selector.visible */
58 property string selectedTitle: ""
59 property string selectedUrl: ""
61 function _common_released()
63 if(selectedTitle !== ""){
64 AppManager.shows.selectedName = selectedTitle
65 AppManager.shows.selected = selectedUrl;
66 AppManager.requestNewSource("qrc:/tlb/ui/qml/views/Show.qml")
85 implicitHeight: t.height
88 property bool isHovered: {
90 var pnt = root.mapToItem(rec, root.curMouseX, root.curMouseY)
92 if(rec.contains(pnt)){
101 var myMiddle = rec.height / 2
102 var newPoint = mapToItem(col, 0, myMiddle)
105 selectedTitle = title
107 }else if(selectedTitle === title){
108 console.error(title + " no longer hovered")
109 /* showBox = false */
116 color: isHovered ? "red" : "black"
125 verticalCenter: parent.verticalCenter
139 /* init - can't be assed but this is magic */
154 onPositionChanged: (mouse)=> {
155 root.curMouseX = mouse.x
156 root.curMouseY = mouse.y
158 onPressed: (mouse)=> {
159 root.pressDown = true
160 root.curMouseX = mouse.x
161 root.curMouseY = mouse.y
163 onReleased: (mouse)=> {
164 console.error("main release event")
166 /* at this moment, check who is in control */
169 root.pressDown = false
170 root.curMouseX = mouse.x
171 root.curMouseY = mouse.y