2
import QtQuick.LocalStorage 2.0
3
import Ubuntu.Components 0.1
4
import QtQuick.XmlListModel 2.0
5
import "common/dbUtil.js" as DataBase
6
import "common/Util.js" as Util
15
width: scheduleRoot.width
16
height: scheduleRoot.height
17
y: scheduleRoot.height
18
Behavior on y {NumberAnimation{duration: 900; easing.type: Easing.OutBack}}
19
Behavior on opacity {NumberAnimation{duration: 1800; easing.type: Easing.OutQuad}}
22
contentHeight: scheduleRoot.height
23
contentWidth: scheduleRoot.width
24
width: scheduleRoot.width
25
height: scheduleRoot.height
26
cellHeight: scheduleRoot.height / 4
27
cellWidth: scheduleRoot.width
29
model: scheduleChannel
31
width: scheduleRoot.width
32
height: scheduleRoot.height / 4.2
35
width: scheduleRoot.width
36
height: scheduleRoot.height / 4.2
43
font.pixelSize: parent.height / 5
44
x: scheduleRoot.width / 6
49
width: slipp.width / 1.5
50
height: slipp.height / 1.5
55
leftMargin: parent.height
58
GradientStop { position: 0; color: "#88000000"}
59
GradientStop { position: 0.8; color: "#44C7C7C7"}
60
GradientStop { position: 1; color: "#88000000"}
66
width: descriptionRec.width - ( descriptionRec.width / 20 )
67
wrapMode: Text.WordWrap
70
leftMargin: descriptionRec.width / 40
72
topMargin: descriptionRec.height / 20
88
text: Qt.formatDateTime(StartTime, "h:mm \n ap")
90
font.pixelSize: parent.height / 4
95
text: Qt.formatDateTime(EndTime, "h:mm \n ap")
97
font.pixelSize: parent.height / 4
116
// ???????????????????????????????????????????//
120
width: scheduleRoot.width
121
height: scheduleRoot.height
124
contentHeight: scheduleRoot.height
125
contentWidth: scheduleRoot.width
126
width: scheduleRoot.width
127
height: scheduleRoot.height
128
cellHeight: scheduleRoot.height / 4
129
cellWidth: scheduleRoot.width / 4
133
width: scheduleRoot.width /4.2
134
height: scheduleRoot.height / 4.2
136
anchors.fill: channelHomeButton
138
singleChannelRec.y = 0
139
homeChannelRec.x = scheduleRoot.width
140
scheduleChannel.source = DataBase.ipAddress()+":"+DataBase.port()+"/Guide/GetProgramGuide?StartTime="+Util.now.toISOString()+"&EndTime="+Util.time2.toISOString()+"&StartChanId="+ChanId+"&NumChannels=1"+"&Details=true"
145
width: scheduleRoot.width / 4.2
146
height: scheduleRoot.height / 4.2
149
id: channelHomeButtonImg
150
anchors.centerIn: parent
153
DataBase.ipAddress()+":"+DataBase.port()+IconURL
155
//FixMe Needs Draw back
161
visible: channelHomeButtonImg.status === Image.Error ? true : false
164
anchors.centerIn: parent
170
//?????????????????????????????????????????????????????????????????????
174
source: DataBase.ipAddress()+":"+DataBase.port()+"/Guide/GetProgramGuide?StartTime="+Util.now.toISOString()+"&EndTime="+Util.time2.toISOString()
175
query: "/ProgramGuide/Channels/ChannelInfo"
176
XmlRole {name: "ChanId"; query: "ChanId/string()"}
177
XmlRole { name: "ChanNum"; query: "ChanNum/string()" }
178
XmlRole { name: "CallSign"; query: "CallSign/string()" }
179
XmlRole{name: "IconURL"; query: "IconURL/string()" }
180
XmlRole{name: "ChannelName"; query: "ChannelName/string()" }
184
if (status == XmlListModel.Ready){console.log("Loaded" + source)}
185
if (status === XmlListModel.Loading) console.log("Loading");
186
if (status === XmlListModel.Error) console.log("Error: " + errorString + "\n \n \n " + schedule.source.toString());
189
console.log("Count changed to: " + count)
196
query: "/ProgramGuide/Channels/ChannelInfo/Programs/Program"
197
XmlRole {name: "StartTime"; query: "StartTime/string()"}
198
XmlRole { name: "EndTime"; query: "EndTime/string()" }
199
XmlRole { name: "Title"; query: "Title/string()" }
200
XmlRole{name: "SubTitle"; query: "SubTitle/string()" }
201
XmlRole{name: "Category"; query: "Category/string()" }
202
XmlRole{name: "CatType"; query: "CatType/string()" }
203
XmlRole{name: "Repeat"; query: "Repeat/string()" }
204
XmlRole{name: "VideoProps"; query: "VideoProps/string()" }
205
XmlRole{name: "AudioProps"; query: "AudioProps/string()" }
206
XmlRole{name: "SubProps"; query: "SubProps/string()" }
207
XmlRole{name: "Description"; query: "Description/string()" }
209
XmlRole{name: "Status"; query: "Recording/Status/string()" }
210
XmlRole{name: "Priority"; query: "Recording/Priority/string()" }
211
XmlRole{name: "RecordId"; query: "Recording/RecordId/string()" }
212
XmlRole{name: "RecGroup"; query: "RecGroup/RecGroup/string()" }
213
XmlRole{name: "PlayGroup"; query: "Recording/PlayGroup/string()" }
214
XmlRole{name: "StorageGroup"; query: "Recording/StorageGroup/string()" }
215
XmlRole{name: "RecType"; query: "Recording/RecType/string()" }
216
XmlRole{name: "DupInType"; query: "Recording/DupInType/string()" }
217
XmlRole{name: "DupMethod"; query: "Recording/DupMethod/string()" }
218
XmlRole{name: "EncoderId"; query: "Recording/EncoderId/string()" }
219
XmlRole{name: "Profile"; query: "Recording/Profile/string()" }
220
XmlRole{name: "ArtworkInfos"; query: "Artwork/ArtworkInfos/string()" }
224
if (status === XmlListModel.Ready){console.log("Loaded" + source)}
225
if (status === XmlListModel.Loading) console.log("Loading");
226
if (status === XmlListModel.Error) console.log("Error: " + errorString + "\n \n \n " + source.toString());
229
console.log("Count changed to: " + count)