X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/711ea79c32a1190d7d0d5867b83cd61d20c9fb64..5e214d181d1590e0002eabdc6f8395cd6ddde2a7:/lib/python/Screens/InfoBarGenerics.py diff --git a/lib/python/Screens/InfoBarGenerics.py b/lib/python/Screens/InfoBarGenerics.py index 8cb2569b..9adaa6db 100644 --- a/lib/python/Screens/InfoBarGenerics.py +++ b/lib/python/Screens/InfoBarGenerics.py @@ -398,23 +398,36 @@ class SimpleServicelist: self.current = 0 def selectService(self, service): - self.current = 0 - while self.services[self.current].ref != service: - self.current += 1 + if not self.length: + self.current = -1 + return False + else: + self.current = 0 + while self.services[self.current].ref != service: + self.current += 1 + if self.current >= self.length: + return False + return True def nextService(self): + if not self.length: + return if self.current+1 < self.length: self.current += 1 else: self.current = 0 def prevService(self): + if not self.length: + return if self.current-1 > -1: self.current -= 1 else: self.current = self.length - 1 def currentService(self): + if not self.length or self.current >= self.length: + return None return self.services[self.current] class InfoBarEPG: @@ -531,8 +544,10 @@ class InfoBarEPG: current_path = self.servicelist.getRoot() services = self.getBouquetServices(current_path) self.serviceSel = SimpleServicelist(services) - self.serviceSel.selectService(ref) - self.session.openWithCallback(self.SingleServiceEPGClosed, EPGSelection, ref, serviceChangeCB = self.changeServiceCB) + if self.serviceSel.selectService(ref): + self.session.openWithCallback(self.SingleServiceEPGClosed, EPGSelection, ref, serviceChangeCB = self.changeServiceCB) + else: + self.session.openWithCallback(self.SingleServiceEPGClosed, EPGSelection, ref) else: self.session.open(EPGSelection, ref) @@ -544,7 +559,7 @@ class InfoBarEPG: self.session.openWithCallback(self.EventInfoPluginChosen, ChoiceBox, title=_("Please choose an extension..."), list = list, skin_name = "EPGExtensionsList") else: self.openSingleServiceEPG() - + def runPlugin(self, plugin): plugin(session = self.session, servicelist = self.servicelist) @@ -820,12 +835,21 @@ class InfoBarSeek: print "not pauseable." state = self.SEEK_STATE_PLAY - oldstate = self.seekstate self.seekstate = state - for i in (0, 1, 2): - if oldstate[i] != self.seekstate[i]: - (self.session.nav.pause, pauseable.setFastForward, pauseable.setSlowMotion)[i](self.seekstate[i]) + if pauseable is not None: + if self.seekstate[0]: + print "resolved to PAUSE" + pauseable.pause() + elif self.seekstate[1]: + print "resolved to FAST FORWARD" + pauseable.setFastForward(self.seekstate[1]) + elif self.seekstate[2]: + print "resolved to SLOW MOTION" + pauseable.setSlowMotion(self.seekstate[2]) + else: + print "resolved to PLAY" + pauseable.unpause() for c in self.onPlayStateChanged: c(self.seekstate) @@ -1607,12 +1631,20 @@ class InfoBarAudioSelection: idx = 0 while idx < n: + cnt = 0 i = audio.getTrackInfo(idx) - language = i.getLanguage() + languages = i.getLanguage().split('/') description = i.getDescription() + language = "" - if LanguageCodes.has_key(language): - language = LanguageCodes[language][0] + for lang in languages: + if cnt: + language += ' / ' + if LanguageCodes.has_key(lang): + language += LanguageCodes[lang][0] + else: + language += lang + cnt += 1 if len(description): description += " (" + language + ")"