1 from Screens.Screen import Screen
2 from Screens.HelpMenu import HelpableScreen
3 from Components.ActionMap import ActionMap, HelpableActionMap
4 from Components.ConfigList import ConfigListScreen
5 from Components.Label import Label
6 from Components.Sources.StaticText import StaticText
7 from Components.config import config, ConfigSubsection, ConfigYesNo, ConfigText, getConfigListEntry
11 from __init__ import _
13 config.plugins.youtubetv = ConfigSubsection()
14 config.plugins.youtubetv.showhelp = ConfigYesNo(default = False)
15 config.plugins.youtubetv.uri = ConfigText(default = "http://www.youtube.com/tv", visible_width = 50, fixed_size = False)
17 vbcfg.g_youtubetv_cfg = config.plugins.youtubetv
19 class YoutubeTVWindow(Screen, HelpableScreen):
21 <screen name="YoutubeTVWindow" position="center,center" size="550,160" title="Start YouTube TV" >
22 <widget name="infomation" position="5,0" size="540,80" valign="center" halign="center" font="Regular;20" />
23 <widget name="startdesc" position="10,80" size="395,40" valign="center" font="Regular;20" />
24 <widget name="helpdesc" position="10,120" size="395,40" valign="center" font="Regular;20" />
25 <ePixmap pixmap="skin_default/buttons/green.png" position="400,80" size="140,40" alphatest="on" />
26 <ePixmap pixmap="skin_default/buttons/yellow.png" position="400,120" size="140,40" alphatest="on" />
27 <widget source="key_green" render="Label" position="400,80" zPosition="1" size="140,40" font="Regular;20" halign="center" valign="center" backgroundColor="#1f771f" foregroundColor="#ffffff" transparent="1" />
28 <widget source="key_yellow" render="Label" position="400,120" zPosition="1" size="140,40" font="Regular;20" halign="center" valign="center" backgroundColor="#a08500" foregroundColor="#ffffff" transparent="1" />
32 def __init__(self, session):
33 Screen.__init__(self, session)
34 HelpableScreen.__init__(self)
36 self["actions"] = ActionMap(["WizardActions", "DirectionActions", "OkCancelActions","ColorActions", "EPGSelectActions",], {
37 "cancel": self.keyCancel,
38 "red" : self.keyCancel,
39 "green" : self.keyGreen,
40 "yellow": self.keyYellow,
43 self["key_green"] = StaticText(_("Start"))
44 self["key_yellow"] = StaticText(_("Help"))
46 self["infomation"] = Label()
47 self["startdesc"] = Label()
48 self["helpdesc"] = Label()
50 self.onLayoutFinish.append(self.layoutFinished)
52 def layoutFinished(self):
53 self.setTitle(_('Start YouTube TV'))
54 self["infomation"].setText(_("YouTube TV is a new way to watch YouTube videos on Vu+"))
55 self["startdesc" ].setText(_("* Start YouTube TV"))
56 self["helpdesc" ].setText(_("* RC Help"))
58 def setHelpModeActions(self):
60 self["OkCancelActions"] = HelpableActionMap(self, "OkCancelActions", {
61 "ok" : (self.keyPass, _("Play ther selected the video")),
62 "cancel": (self.keyPass, _("Exit the YouTube TV")),
64 self["EventViewActions"] = HelpableActionMap(self, "EventViewActions", {
65 "pageUp" : (self.keyPass, _("Move up")),
66 "pageDown" : (self.keyPass, _("Move down")),
67 "prevEvent" : (self.keyPass, _("Move left")),
68 "nextEvent" : (self.keyPass, _("Move right")),
70 self["EPGSelectActions"] = HelpableActionMap(self, "EPGSelectActions", {
71 "info" : (self.keyPass, _("Search a video")),
72 "nextService" : (self.keyPass, _("Skip forward 10 sec")),
73 "prevService" : (self.keyPass, _("Skip backward 10 sec")),
75 self["MediaPlayerActions"] = HelpableActionMap(self, "MediaPlayerActions", {
76 "play" : (self.keyPass, _("Play current video")),
77 "pause" : (self.keyPass, _("Pause current video")),
78 "stop" : (self.keyPass, _("Stop current video")),
80 self["ColorActions"] = HelpableActionMap(self, "ColorActions", {
81 "red" : (self.keyPass, _("Back")),
89 config.plugins.youtubetv.showhelp.cancel()
93 config.plugins.youtubetv.showhelp.save()
94 config.plugins.youtubetv.save()
96 vbcfg.g_youtubetv_cfg = config.plugins.youtubetv
100 self.setHelpModeActions()
103 if config.plugins.youtubetv.showhelp.value == True :
104 config.plugins.youtubetv.showhelp.setValue(False)
105 else: config.plugins.youtubetv.showhelp.setValue(True)
107 class YoutubeTVSettings(ConfigListScreen, Screen):
109 <screen position="center,center" size="600,140" title="YouTube TV Settings">
110 <widget name="config" position="0,0" size="600,100" scrollbarMode="showOnDemand" />
112 <ePixmap pixmap="skin_default/buttons/red.png" position="310,100" size="140,40" alphatest="on" />
113 <ePixmap pixmap="skin_default/buttons/green.png" position="150,100" size="140,40" alphatest="on" />
115 <widget source="key_red" render="Label" position="310,100" zPosition="1" size="140,40" font="Regular;20" halign="center" valign="center" backgroundColor="#9f1313" foregroundColor="#ffffff" transparent="1" />
116 <widget source="key_green" render="Label" position="150,100" zPosition="1" size="140,40" font="Regular;20" halign="center" valign="center" backgroundColor="#1f771f" foregroundColor="#ffffff" transparent="1" />
120 def __init__(self, session):
121 self.session = session
124 Screen.__init__(self, session)
125 ConfigListScreen.__init__(self, self.menulist)
127 self["actions"] = ActionMap(["OkCancelActions", "ColorActions",], {
128 "ok" : self.keyGreen,
129 "green" : self.keyGreen,
131 "cancel" : self.keyRed,
133 self["key_red"] = StaticText(_("Cancel"))
134 self["key_green"] = StaticText(_("Save"))
136 self.makeConfigList()
137 self.onLayoutFinish.append(self.layoutFinished)
139 def layoutFinished(self):
140 self.setTitle(_('YouTube TV Settings'))
143 config.plugins.youtubetv.showhelp.save()
144 config.plugins.youtubetv.uri.save()
145 config.plugins.youtubetv.save()
146 config.plugins.save()
148 vbcfg.g_youtubetv_cfg = config.plugins.youtubetv
152 config.plugins.youtubetv.showhelp.cancel()
153 config.plugins.youtubetv.uri.cancel()
157 ConfigListScreen.keyLeft(self)
160 ConfigListScreen.keyRight(self)
162 def makeConfigList(self):
165 entryUri = getConfigListEntry(_("YouTube TV URL"), config.plugins.youtubetv.uri)
166 entryShowHelp = getConfigListEntry(_("Do not show YouTube TV Starter again"), config.plugins.youtubetv.showhelp)
167 self.menulist.append(entryUri)
168 self.menulist.append(entryShowHelp)
169 self["config"].list = self.menulist
170 self["config"].l.setList(self.menulist)