not final version yet.. service name is missing, and i need to build a scrollable label
from Components.Button import Button
from Components.EpgList import EPGList
from Components.ActionMap import ActionMap
-
-from enigma import eServiceReference
-
+from Screens.EventView import EventView
+from enigma import eServiceReference, eServiceEventPtr
from Screens.FixedMenu import FixedMenu
import xml.dom.minidom
Screen.__init__(self, session)
self["list"] = EPGList()
-# self["list"].setRoot(root)
class ChannelActionMap(ActionMap):
def action(self, contexts, action):
ActionMap.action(self, contexts, action)
- self["actions"] = ChannelActionMap(["ChannelSelectActions", "OkCancelActions"],
+ self["actions"] = ChannelActionMap(["EPGSelectActions", "OkCancelActions"],
{
"cancel": self.close,
"ok": self.eventSelected,
self["actions"].csel = self
self.setRoot(root)
+ def eventViewCallback(self, setEvent, val):
+ if val == -1:
+ self.moveUp()
+ setEvent(self["list"].getCurrent())
+ elif val == +1:
+ self.moveDown()
+ setEvent(self["list"].getCurrent())
+
def eventSelected(self):
- ref = self["list"].getCurrent()
-# open eventdetail view... not finished yet
- self.close()
+ event = self["list"].getCurrent()
+ self.session.open(EventView, event, self.eventViewCallback)
+# self.close()
def setRoot(self, root):
self["list"].setRoot(root)
--- /dev/null
+from Screen import Screen
+from Components.ActionMap import ActionMap
+from Components.Label import Label
+from Components.ProgressBar import ProgressBar
+from enigma import eWidget, eServiceEventPtr, eLabel
+
+class EventView(Screen):
+ def __init__(self, session, Event, callback):
+ Screen.__init__(self, session)
+
+ self.cbFunc = callback
+ print self.cbFunc
+
+ self["epg_description"] = Label()
+ self["datetime"] = Label()
+ self["channel"] = Label()
+ self["scrollbar"] = ProgressBar()
+ self["duration"] = Label()
+
+ self["actions"] = ActionMap(["OkCancelActions", "EventViewActions"],
+ {
+ "cancel": self.close,
+ "ok": self.close,
+ "scrollUp": self.scrollUp,
+ "scrollDown": self.scrollDown,
+ "prevEvent": self.prevEvent,
+ "nextEvent": self.nextEvent
+ })
+ self.setEvent(Event)
+
+ def prevEvent(self):
+ if self.cbFunc is not None:
+ self.cbFunc(self.setEvent, -1)
+
+ def nextEvent(self):
+ if self.cbFunc is not None:
+ self.cbFunc(self.setEvent, +1)
+
+ def setEvent(self, event):
+ text = event.getShortDescription()
+ if len(text) > 0:
+ text = text + '\n\n'
+ text = text + event.getExtendedDescription()
+ self["epg_description"].setText(text)
+ self["datetime"].setText(event.getBeginTimeString())
+ self["channel"].setText("Unknown Service")
+ self["duration"].setText("%d min"%(event.getDuration()/60))
+
+ def scrollUp(self):
+ print "scrollUp"
+
+ def scrollDown(self):
+ print "scrollDown"
MessageBox.py ScartLoopThrough.py Screen.py ServiceScan.py TimerEdit.py \
MovieSelection.py Setup.py About.py HarddiskSetup.py FixedMenu.py \
Satconfig.py ScanSetup.py NetworkSetup.py Ci.py TimerEntry.py Volume.py \
- EpgSelection.py Mute.py __init__.py
+ EpgSelection.py EventView.py Mute.py __init__.py
"ScartLoopThrough", "Screen", "ServiceScan", "About",
"TimerEdit", "Setup", "HarddiskSetup", "FixedMenu",
"Satconfig", "Scanconfig", "Ci.py", "Volume.py", "Mute.py",
- "EpgSelection"]
+ "EpgSelection", "EventView"]