Merge branch 'bug_537_vobsub' into experimental
[vuplus_dvbapp] / lib / python / Screens / AudioSelection.py
index b4ee929..068da87 100644 (file)
@@ -51,24 +51,23 @@ class AudioSelection(Screen, ConfigListScreen):
                self.settings = ConfigSubsection()
                choicelist = [(PAGE_AUDIO,_("audio tracks")), (PAGE_SUBTITLES,_("Subtitles"))]
                self.settings.menupage = ConfigSelection(choices = choicelist, default=page)
-               self.settings.menupage.addNotifier(self.fillList)
                self.onLayoutFinish.append(self.__layoutFinished)
 
        def __layoutFinished(self):
                self["config"].instance.setSelectionEnable(False)
                self.focus = FOCUS_STREAMS
+               self.settings.menupage.addNotifier(self.fillList)
 
        def fillList(self, arg=None):
                streams = []
                conflist = []
                selectedidx = 0
-               
-               service = self.session.nav.getCurrentService()
-               self.audioTracks = audio = service and service.audioTracks()
-               n = audio and audio.getNumberOfTracks() or 0
-               
+
                if self.settings.menupage.getValue() == PAGE_AUDIO:
                        self.setTitle(_("Select audio track"))
+                       service = self.session.nav.getCurrentService()
+                       self.audioTracks = audio = service and service.audioTracks()
+                       n = audio and audio.getNumberOfTracks() or 0
                        if SystemInfo["CanDownmixAC3"]:
                                self.settings.downmix = ConfigOnOff(default=config.av.downmix_ac3.value)
                                self.settings.downmix.addNotifier(self.changeAC3Downmix, initial_call = False)
@@ -110,8 +109,6 @@ class AudioSelection(Screen, ConfigListScreen):
                                        streams.append((x, "", number, description, language, selected))
 
                        else:
-                               conflist.append(getConfigListEntry("", self.settings.dummy))
-                               self["key_green"].setBoolean(False)
                                streams = []
                                conflist.append(('',))
                                self["key_green"].setBoolean(False)
@@ -158,7 +155,7 @@ class AudioSelection(Screen, ConfigListScreen):
                                                number = "%x%02x" % (x[3],x[2])
 
                                        elif x[0] == 2:
-                                               types = (_("<unknown>"), "UTF-8 text", "SSA / AAS", ".SRT", "VOB")
+                                               types = (_("<unknown>"), "UTF-8 text", "SSA", "AAS", ".SRT file", "VOB", "PGS (unsupported)")
                                                description = types[x[2]]
 
                                        streams.append((x, "", number, description, language, selected))
@@ -187,7 +184,7 @@ class AudioSelection(Screen, ConfigListScreen):
                                conflist.append(getConfigListEntry(Plugins[0][0], ConfigNothing()))
                                self.plugincallfunc = Plugins[0][1]
                        if len(Plugins) > 1:
-                               print "these plugins are installed but not displayed in the dialog box:", Plugins[1:]
+                               print "plugin(s) installed but not displayed in the dialog box:", Plugins[1:]
 
                self["config"].list = conflist
                self["config"].l.setList(conflist)
@@ -303,7 +300,7 @@ class AudioSelection(Screen, ConfigListScreen):
                                else:
                                        self.enableSubtitle(cur[0])
                                        self.__updatedInfo()
-               #self.close()
+                       self.close(0)
                elif self.focus == FOCUS_CONFIG:
                        self.keyRight()
 
@@ -312,4 +309,5 @@ class AudioSelection(Screen, ConfigListScreen):
 
 class SubtitleSelection(AudioSelection):
        def __init__(self, session, infobar=None):
-               AudioSelection.__init__(self, session, infobar, PAGE_SUBTITLES)
+               AudioSelection.__init__(self, session, infobar, page=PAGE_SUBTITLES)
+               self.skinName = ["AudioSelection"]