<widget name="transparent" zPosition="-1" position="0,0" size="100,107" backgroundColor="transparent" />
<widget name="Dishpixmap" pixmap="dish.png" position="0,0" size="100,107" />
</screen>
- <screen name="ChannelSelection" position="90,98" size="560,417" title="Channel Selection">
- <widget name="list" position="0,45" size="560,364" scrollbarMode="showOnDemand" />
- <widget name="key_red" position="0,0" size="140,40" backgroundColor="red" font="Regular;21" />
- <widget name="key_green" position="140,0" size="140,40" backgroundColor="green" font="Regular;21" />
- <widget name="key_yellow" position="280,0" size="140,40" backgroundColor="yellow" font="Regular;21" />
- <widget name="key_blue" position="420,0" size="140,40" backgroundColor="blue" font="Regular;21" />
+ <screen name="ChannelSelection" position="90,98" size="560,417" title="Channel Selection">
+ <widget name="key_red" position="0,0" size="140,30" backgroundColor="red" font="Regular;21" />
+ <widget name="key_green" position="140,0" size="140,30" backgroundColor="green" font="Regular;21" />
+ <widget name="key_yellow" position="280,0" size="140,30" backgroundColor="yellow" font="Regular;21" />
+ <widget name="key_blue" position="420,0" size="140,30" backgroundColor="blue" font="Regular;21" />
+ <widget name="list" position="0,35" size="560,280" scrollbarMode="showOnDemand" />
+ <widget pixmap="key_green-fs8.png" position="10,90" zPosition="10" size="28,20" transparent="1" alphatest="on"/>
+ <ePixmap position="0,316" size="560,101" pixmap="border_eventinfo-fs8.png" zPosition="1" transparent="1" alphatest="on" />
+ <widget source="ServiceEvent" render="Label" position="4,322" size="55,22" font="Regular;19" >
+ <convert type="EventTime">StartTime</convert>
+ <convert type="ClockToText"></convert>
+ </widget>
+ <widget source="ServiceEvent" render="Label" position="62,322" size="65,22" font="Regular;19" >
+ <convert type="EventTime">EndTime</convert>
+ <convert type="ClockToText">Format:- %H:%M</convert>
+ </widget>
+ <widget source="ServiceEvent" render="Label" position="134,322" size="423,22" font="Regular;19" >
+ <convert type="EventName">Name</convert>
+ </widget>
+ <widget source="ServiceEvent" render="Label" position="4,347" size="552,66" font="Regular;19" >
+ <convert type="EventName">ExtendedDescription</convert>
+ </widget>
</screen>
<screen name="ChannelSelectionRadio" position="90,98" size="560,307" title="Channel Selection">
<widget name="key_red" position="0,0" size="140,40" backgroundColor="red" font="Regular;21" />
WITH_SECONDS = 1
IN_MINUTES = 2
DATE = 3
+ FORMAT = 4
# add: date, date as string, weekday, ...
# (whatever you need!)
self.type = self.IN_MINUTES
elif type == "Date":
self.type = self.DATE
+ elif type.find("Format") != -1:
+ self.type = self.FORMAT
+ self.fmt_string = type[7:]
else:
self.type = self.DEFAULT
return "%02d:%02d" % (t.tm_hour, t.tm_min)
elif self.type == self.DATE:
return strftime("%A %B %d, %Y", t)
+ elif self.type == self.FORMAT:
+ spos = self.fmt_string.find('%')
+ if spos > 0:
+ s1 = self.fmt_string[:spos]
+ s2 = strftime(self.fmt_string[spos:], t)
+ return str(s1+s2)
+ else:
+ return strftime(self.fmt_string, t)
else:
return "???"
def getText(self):
event = self.source.event
if event is None:
- return "N/A"
+ return ""
if self.type == self.NAME:
return event.getEventName()
self.root = None
self.mode = self.MODE_NORMAL
+ self.onSelectionChanged = [ ]
+
+ def connectSelChanged(self, fnc):
+ if not fnc in self.onSelectionChanged:
+ self.onSelectionChanged.append(fnc)
+
+ def disconnectSelChanged(self, fnc):
+ if fnc in self.onSelectionChanged:
+ self.onSelectionChanged.remove(fnc)
+
+ def selectionChanged(self):
+ for x in self.onSelectionChanged:
+ x()
def setCurrent(self, ref):
self.l.setCurrent(ref)
def postWidgetCreate(self, instance):
instance.setWrapAround(True)
instance.setContent(self.l)
+ instance.selectionChanged.get().append(self.selectionChanged)
self.setMode(self.mode)
def getRoot(self):
self.l.setRoot(root, justSet)
if not justSet:
self.l.sort()
+ self.selectionChanged()
def removeCurrent(self):
self.l.removeCurrent()
install_PYTHON = \
__init__.py Clock.py EventInfo.py Source.py List.py CurrentService.py \
FrontendStatus.py Boolean.py Config.py ServiceList.py RdsDecoder.py StreamService.py \
- StaticText.py CanvasSource.py
+ StaticText.py CanvasSource.py ServiceEvent.py
from Components.NimManager import nimmanager
from Components.Sources.Clock import Clock
from Components.Sources.RdsDecoder import RdsDecoder
+from Components.Sources.ServiceEvent import ServiceEvent
from Components.Input import Input
from Components.ParentalControl import parentalControl
from Components.Pixmap import Pixmap
self.csel.startMarkedEdit(EDIT_ALTERNATIVES)
self.close()
+class SelectionEventInfo:
+ def __init__(self):
+ self["ServiceEvent"] = ServiceEvent()
+ self.servicelist.connectSelChanged(self.__selectionChanged)
+ self.timer = eTimer()
+ self.timer.timeout.get().append(self.updateEventInfo)
+ self.onShown.append(self.__selectionChanged)
+
+ def __selectionChanged(self):
+ if self.execing:
+ self.timer.start(100, True)
+
+ def updateEventInfo(self):
+ cur = self.getCurrentSelection()
+ self["ServiceEvent"].newService(cur)
+
class ChannelSelectionEPG:
def __init__(self):
self["ChannelSelectEPGActions"] = ActionMap(["ChannelSelectEPGActions"],
config.servicelist = ConfigSubsection()
config.servicelist.lastmode = ConfigText(default = "tv")
-class ChannelSelection(ChannelSelectionBase, ChannelSelectionEdit, ChannelSelectionEPG):
+class ChannelSelection(ChannelSelectionBase, ChannelSelectionEdit, ChannelSelectionEPG, SelectionEventInfo):
def __init__(self, session):
ChannelSelectionBase.__init__(self,session)
ChannelSelectionEdit.__init__(self)
ChannelSelectionEPG.__init__(self)
+ SelectionEventInfo.__init__(self)
self["actions"] = ActionMap(["OkCancelActions", "TvRadioActions"],
{