aboutsummaryrefslogtreecommitdiff
path: root/lib/python/Screens/EpgSelection.py
diff options
context:
space:
mode:
Diffstat (limited to 'lib/python/Screens/EpgSelection.py')
-rw-r--r--lib/python/Screens/EpgSelection.py32
1 files changed, 26 insertions, 6 deletions
diff --git a/lib/python/Screens/EpgSelection.py b/lib/python/Screens/EpgSelection.py
index e7388fc2..d09ed004 100644
--- a/lib/python/Screens/EpgSelection.py
+++ b/lib/python/Screens/EpgSelection.py
@@ -25,12 +25,14 @@ class EPGSelection(Screen):
ZAP = 1
- def __init__(self, session, service, zapFunc=None, eventid=None, bouquetChangeCB=None):
+ def __init__(self, session, service, zapFunc=None, eventid=None, bouquetChangeCB=None, serviceChangeCB=None):
Screen.__init__(self, session)
self.bouquetChangeCB = bouquetChangeCB
+ self.serviceChangeCB = serviceChangeCB
self.ask_time = -1 #now
self["key_red"] = Button("")
self.closeRecursive = False
+ self.saved_title = None
if isinstance(service, str) and eventid != None:
self.type = EPG_TYPE_SIMILAR
self["key_yellow"] = Button()
@@ -68,7 +70,7 @@ class EPGSelection(Screen):
self["key_green"] = Button(_("Add timer"))
self.key_green_choice = self.ADD_TIMER
self.key_red_choice = self.EMPTY
- self["list"] = EPGList(type = self.type, selChangedCB = self.onSelectionChanged, timer = self.session.nav.RecordTimer)
+ self["list"] = EPGList(type = self.type, selChangedCB = self.onSelectionChanged, timer = session.nav.RecordTimer)
self["actions"] = ActionMap(["EPGSelectActions", "OkCancelActions"],
{
@@ -80,11 +82,12 @@ class EPGSelection(Screen):
"info": self.infoKeyPressed,
"red": self.zapTo,
"input_date_time": self.enterDateTime,
- "nextBouquet": self.nextBouquet,
- "prevBouquet": self.prevBouquet
+ "nextBouquet": self.nextBouquet, # just used in multi epg yet
+ "prevBouquet": self.prevBouquet, # just used in multi epg yet
+ "nextService": self.nextService, # just used in single epg yet
+ "prevService": self.prevService, # just used in single epg yet
})
self["actions"].csel = self
-
self.onLayoutFinish.append(self.onCreate)
def nextBouquet(self):
@@ -95,6 +98,14 @@ class EPGSelection(Screen):
if self.bouquetChangeCB:
self.bouquetChangeCB(-1, self)
+ def nextService(self):
+ if self.serviceChangeCB:
+ self.serviceChangeCB(1, self)
+
+ def prevService(self):
+ if self.serviceChangeCB:
+ self.serviceChangeCB(-1, self)
+
def enterDateTime(self):
if self.type == EPG_TYPE_MULTI:
global mepg_config_initialized
@@ -129,6 +140,10 @@ class EPGSelection(Screen):
self.services = services
self.onCreate()
+ def setService(self, service):
+ self.currentService = service
+ self.onCreate()
+
#just used in multipeg
def onCreate(self):
l = self["list"]
@@ -137,7 +152,12 @@ class EPGSelection(Screen):
l.fillMultiEPG(self.services, self.ask_time)
l.moveToService(self.session.nav.getCurrentlyPlayingServiceReference())
elif self.type == EPG_TYPE_SINGLE:
- l.fillSingleEPG(self.currentService)
+ service = self.currentService
+ if self.saved_title is None:
+ self.saved_title = self.instance.getTitle()
+ title = self.saved_title + ' - ' + service.getServiceName()
+ self.instance.setTitle(title)
+ l.fillSingleEPG(service)
else:
l.fillSimilarList(self.currentService, self.eventid)