X-Git-Url: http://code.vuplus.com/gitweb/?p=vuplus_dvbapp;a=blobdiff_plain;f=lib%2Fpython%2FScreens%2FSubtitles.py;h=e8cad4fe039e1554d8f5d32cd105ef38da2b49ed;hp=e63786192c3f5a57cb5e137cef42a7e37ead6d3d;hb=HEAD;hpb=c331ea7ffd96ac9f9f60985179507dc81287c487 diff --git a/lib/python/Screens/Subtitles.py b/lib/python/Screens/Subtitles.py old mode 100644 new mode 100755 index e637861..e8cad4f --- a/lib/python/Screens/Subtitles.py +++ b/lib/python/Screens/Subtitles.py @@ -7,8 +7,10 @@ from enigma import iPlayableService from Tools.ISO639 import LanguageCodes +from Screens.InfoBar import InfoBar + class Subtitles(Screen, ConfigListScreen): - def __init__(self, session): + def __init__(self, session, infobar=None): Screen.__init__(self, session) self["actions"] = ActionMap(["SetupActions"], @@ -19,7 +21,12 @@ class Subtitles(Screen, ConfigListScreen): self.list = [] ConfigListScreen.__init__(self, self.list) - self.infobar = self.session.infobar + if self.session.infobar is None: + if InfoBar.instance: + self.infobar = InfoBar.instance + else: + self.infobar = self.session.infobar + self.fillList() self.__event_tracker = ServiceEventTracker(screen=self, eventmap= @@ -30,10 +37,11 @@ class Subtitles(Screen, ConfigListScreen): self.__selected_subtitle = None def fillList(self): - del self.list[:] - print "self.list", self.list + list = self.list + del list[:] + print "self.list", list if self.subtitlesEnabled(): - self.list.append(getConfigListEntry(_("Disable Subtitles"), ConfigNothing(), None)) + list.append(getConfigListEntry(_("Disable Subtitles"), ConfigNothing(), None)) sel = self.infobar.selected_subtitle else: sel = None @@ -44,29 +52,29 @@ class Subtitles(Screen, ConfigListScreen): text = _("Enable") if x[0] == 0: if LanguageCodes.has_key(x[4]): - self.list.append(getConfigListEntry(text+" DVB "+LanguageCodes[x[4]][0], ConfigNothing(), x)) + list.append(getConfigListEntry(text+" DVB "+LanguageCodes[x[4]][0], ConfigNothing(), x)) else: - self.list.append(getConfigListEntry(text+" DVB "+x[4], ConfigNothing(), x)) + list.append(getConfigListEntry(text+" DVB "+x[4], ConfigNothing(), x)) elif x[0] == 1: if x[4] == 'und': #undefined - self.list.append(getConfigListEntry(text+" TTX "+_("Page")+" %x%02x"%(x[3],x[2]), ConfigNothing(), x)) + list.append(getConfigListEntry(text+" TTX "+_("Page")+" %x%02x"%(x[3],x[2]), ConfigNothing(), x)) else: if LanguageCodes.has_key(x[4]): - self.list.append(getConfigListEntry(text+" TTX "+_("Page")+" %x%02x"%(x[3],x[2])+" "+LanguageCodes[x[4]][0], ConfigNothing(), x)) + list.append(getConfigListEntry(text+" TTX "+_("Page")+" %x%02x"%(x[3],x[2])+" "+LanguageCodes[x[4]][0], ConfigNothing(), x)) else: - self.list.append(getConfigListEntry(text+" TTX "+_("Page")+" %x%02x"%(x[3],x[2])+" "+x[4], ConfigNothing(), x)) + list.append(getConfigListEntry(text+" TTX "+_("Page")+" %x%02x"%(x[3],x[2])+" "+x[4], ConfigNothing(), x)) elif x[0] == 2: - types = [" UTF-8 text "," SSA / AAS "," .SRT file "] + types = (" UTF-8 text "," SSA / AAS "," .SRT file ") if x[4] == 'und': #undefined - self.list.append(getConfigListEntry(text+types[x[2]]+_("Subtitles")+" %d" % x[1], ConfigNothing(), x)) + list.append(getConfigListEntry(text+types[x[2]]+_("Subtitles")+" %d" % x[1], ConfigNothing(), x)) else: if LanguageCodes.has_key(x[4]): - self.list.append(getConfigListEntry(text+types[x[2]]+_("Subtitles") + ' ' + LanguageCodes[x[4]][0], ConfigNothing(), x)) + list.append(getConfigListEntry(text+types[x[2]]+_("Subtitles") + ' ' + LanguageCodes[x[4]][0], ConfigNothing(), x)) else: - self.list.append(getConfigListEntry(text+types[x[2]]+_("Subtitles")+" %d " % x[1] +x[4], ConfigNothing(), x)) + list.append(getConfigListEntry(text+types[x[2]]+_("Subtitles")+" %d " % x[1] +x[4], ConfigNothing(), x)) # return _("Disable subtitles") - self["config"].list = self.list - self["config"].l.setList(self.list) + self["config"].list = list + self["config"].l.setList(list) def __updatedInfo(self): self.fillList() @@ -83,10 +91,8 @@ class Subtitles(Screen, ConfigListScreen): if self.infobar.selected_subtitle != subtitles: self.infobar.subtitles_enabled = False self.infobar.selected_subtitle = subtitles - self.infobar.subtitles_enabled = True - - def disableSubtitles(self): - self.infobar.subtitles_enabled = False + if subtitles: + self.infobar.subtitles_enabled = True def keyLeft(self): ConfigListScreen.keyLeft(self) @@ -95,7 +101,7 @@ class Subtitles(Screen, ConfigListScreen): ConfigListScreen.keyRight(self) def ok(self): - if len(self.list): + if self.list: cur = self["config"].getCurrent() self.enableSubtitle(cur[2]) self.close(1)