from Screens.ChoiceBox import ChoiceBox
from Screens.MessageBox import MessageBox
from InfoBarGenerics import InfoBarShowHide, InfoBarMenu, InfoBarInstantRecord, InfoBarTimeshift, InfoBarSeek, InfoBarTimeshiftState, InfoBarExtensions, InfoBarSubtitleSupport, InfoBarAudioSelection
+from Components.ServiceEventTracker import InfoBarBase
from enigma import eTimer
-class SubservicesQuickzap(InfoBarShowHide, InfoBarMenu, InfoBarInstantRecord, InfoBarSeek, InfoBarTimeshift, InfoBarTimeshiftState, InfoBarExtensions, InfoBarSubtitleSupport, InfoBarAudioSelection, Screen):
+class SubservicesQuickzap(InfoBarBase, InfoBarShowHide, InfoBarMenu, \
+ InfoBarInstantRecord, InfoBarSeek, InfoBarTimeshift, \
+ InfoBarTimeshiftState, InfoBarExtensions, InfoBarSubtitleSupport, \
+ InfoBarAudioSelection, Screen):
+
def __init__(self, session, subservices):
Screen.__init__(self, session)
- for x in [InfoBarShowHide, InfoBarMenu, InfoBarInstantRecord, InfoBarSeek, InfoBarTimeshift, InfoBarTimeshiftState, InfoBarSubtitleSupport, InfoBarExtensions, InfoBarAudioSelection]:
+ for x in InfoBarBase, InfoBarShowHide, InfoBarMenu, \
+ InfoBarInstantRecord, InfoBarSeek, InfoBarTimeshift, \
+ InfoBarTimeshiftState, InfoBarSubtitleSupport, \
+ InfoBarExtensions, InfoBarAudioSelection:
x.__init__(self)
self.restoreService = self.session.nav.getCurrentlyPlayingServiceReference()
"9": self.keyNumberGlobal,
"0": self.keyNumberGlobal
}, 0)
+
+ self.onClose.append(self.__onClose)
+
+ def __onClose(self):
+ self.session.nav.playService(self.restoreService, False)
def onLayoutFinished(self):
self.timer.start(0,True)
def showSelection(self):
self.updateSubservices()
tlist = []
- if self.n is not None:
- for x in range(self.n):
- i = self.subservices.getSubservice(x)
- tlist.append((i.getName(), x))
+ n = self.n or 0
+ if n:
+ idx = 0
+ while idx < n:
+ i = self.subservices.getSubservice(idx)
+ tlist.append((i.getName(), idx))
+ idx += 1
- keys = [ "", "1", "2", "3", "4", "5", "6", "7", "8", "9" ] + [""] * self.n
+ keys = [ "", "1", "2", "3", "4", "5", "6", "7", "8", "9" ] + [""] * n
self.session.openWithCallback(self.subserviceSelected, ChoiceBox, title=_("Please select a subservice..."), list = tlist, selection = self.currentlyPlayingSubservice, keys = keys)
def subserviceSelected(self, service):
def quit(self, answer):
if answer:
- self.session.nav.playService(self.restoreService)
self.close()
def playSubservice(self, number = 0):
del self.subservices
del self.service
self.lastservice = self.currentlyPlayingSubservice
- self.session.nav.playService(newservice)
+ self.session.nav.playService(newservice, False)
self.currentlyPlayingSubservice = number
self.currentSubserviceNumberLabel.setText(str(number))
self.doShow()