from Screen import Screen
from Components.ActionMap import ActionMap
+from Components.Button import Button
from Components.Label import Label
from Components.ScrollLabel import ScrollLabel
from enigma import eServiceEventPtr
from RecordTimer import RecordTimerEntry, parseEvent
from TimerEntry import TimerEntry
-class EventView(Screen):
- def __init__(self, session, Event, Ref, callback=None):
- Screen.__init__(self, session)
+class EventViewBase:
+ def __init__(self, Event, Ref, callback=None):
self.cbFunc = callback
- self.currentService=None
+ self.currentService=Ref
+ self.event = Event
self["epg_description"] = ScrollLabel()
self["datetime"] = Label()
self["channel"] = Label()
self["duration"] = Label()
+ self["key_red"] = Button("")
+ self["key_green"] = Button(_("Add Timer"))
+ self["key_yellow"] = Button("")
+ self["key_blue"] = Button("")
self["actions"] = ActionMap(["OkCancelActions", "EventViewActions"],
{
"cancel": self.close,
"nextEvent": self.nextEvent,
"timerAdd": self.timerAdd
})
- self.setEvent(Event)
- self.setService(Ref)
+ self.onShown.append(self.onCreate)
+
+ def onCreate(self):
+ self.setEvent(self.event)
+ self.setService(self.currentService)
def prevEvent(self):
if self.cbFunc is not None:
- self.cbFunc(self.setEvent, -1)
+ self.cbFunc(self.setEvent, self.setService, -1)
def nextEvent(self):
if self.cbFunc is not None:
- self.cbFunc(self.setEvent, +1)
-
+ self.cbFunc(self.setEvent, self.setService, +1)
+
def timerAdd(self):
newEntry = RecordTimerEntry(self.currentService, *parseEvent(self.event))
self.session.openWithCallback(self.timerEditFinished, TimerEntry, newEntry)
if (answer[0]):
self.session.nav.RecordTimer.record(answer[1])
else:
- print "Timeredit aborted"
+ print "Timeredit aborted"
def setService(self, service):
self.currentService=service
def pageUp(self):
self["epg_description"].pageUp()
-
+
def pageDown(self):
self["epg_description"].pageDown()
+
+class EventViewSimple(Screen, EventViewBase):
+ def __init__(self, session, Event, Ref, callback=None):
+ Screen.__init__(self, session)
+ self.skinName = "EventView"
+ EventViewBase.__init__(self, Event, Ref, callback)
+
+class EventViewEPGSelect(Screen, EventViewBase):
+ def __init__(self, session, Event, Ref, callback=None, singleEPGCB=None, multiEPGCB=None):
+ Screen.__init__(self, session)
+ self.skinName = "EventView"
+ EventViewBase.__init__(self, Event, Ref, callback)
+ self["key_yellow"].setText(_("Single EPG"))
+ self["key_blue"].setText(_("Multi EPG"))
+ self["epgactions"] = ActionMap(["EventViewEPGActions"],
+ {
+ "openSingleServiceEPG": singleEPGCB,
+ "openMultiServiceEPG": multiEPGCB
+ })