X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/3599539f102d1c20c9c967249a06bbfcf6e7db2d..cab018779de4f2f01e0fe651e71112754ebd0ef8:/lib/python/Plugins/SystemPlugins/PositionerSetup/plugin.py diff --git a/lib/python/Plugins/SystemPlugins/PositionerSetup/plugin.py b/lib/python/Plugins/SystemPlugins/PositionerSetup/plugin.py index 9ee47771..a4008c2d 100644 --- a/lib/python/Plugins/SystemPlugins/PositionerSetup/plugin.py +++ b/lib/python/Plugins/SystemPlugins/PositionerSetup/plugin.py @@ -123,17 +123,22 @@ class PositionerSetup(Screen): self.updateColors("tune") self.statusTimer = eTimer() - self.statusTimer.timeout.get().append(self.updateStatus) + self.statusTimer.callback.append(self.updateStatus) self.statusTimer.start(50, False) + self.onClose.append(self.__onClose) + + def __onClose(self): + self.session.nav.playService(self.oldref) def restartPrevService(self, yesno): if yesno: if self.frontend: self.frontend = None del self.raw_channel - self.session.nav.playService(self.oldref) - self.close(None) - + else: + self.oldref=None + self.close(None) + def keyCancel(self): if self.oldref: self.session.openWithCallback(self.restartPrevService, MessageBox, _("Zap back to service before positioner setup?"), MessageBox.TYPE_YESNO) @@ -482,6 +487,8 @@ class TunerScreen(ScanSetup): pol = "CL" elif x[3] == 3: pol = "CR" + else: + pol = "??" if x[4] == 0: fec = "FEC_AUTO" elif x[4] == 1: @@ -494,10 +501,18 @@ class TunerScreen(ScanSetup): fec = "FEC_5_6" elif x[4] == 5: fec = "FEC_7_8" - elif x[4] == 5: - fec = "FEC_8_9" elif x[4] == 6: + fec = "FEC_8_9" + elif x[4] == 7: + fec = "FEC_3_5" + elif x[4] == 8: + fec = "FEC_4_5" + elif x[4] == 9: + fec = "FEC_9_10" + elif x[4] == 15: fec = "FEC_None" + else: + fec = "FEC_Unknown" tps.append(str(x[1]) + "," + str(x[2]) + "," + pol + "," + fec) tuning.transponder = ConfigSelection(choices=tps) @@ -520,7 +535,7 @@ class TunerScreen(ScanSetup): def keyCancel(self): self.close(None) -class NimSelection(Screen): +class RotorNimSelection(Screen): skin = """ @@ -529,11 +544,10 @@ class NimSelection(Screen): def __init__(self, session): Screen.__init__(self, session) - nimlist = nimmanager.getNimListOfType(nimmanager.nimType["DVB-S"]) + nimlist = nimmanager.getNimListOfType("DVB-S") nimMenuList = [] for x in nimlist: - n = nimmanager.nim_slots[x] - nimMenuList.append((n.friendly_full_name, x)) + nimMenuList.append((nimmanager.nim_slots[x].friendly_full_description, x)) self["nimlist"] = MenuList(nimMenuList) @@ -563,18 +577,18 @@ def PositionerMain(session, **kwargs): if len(usableNims) == 1: session.open(PositionerSetup, usableNims[0]) elif len(usableNims) > 1: - session.open(NimSelection) + session.open(RotorNimSelection) else: session.open(MessageBox, _("No tuner is configured for use with a diseqc positioner!"), MessageBox.TYPE_ERROR) -def PositionerSetupStart(menuid): +def PositionerSetupStart(menuid, **kwargs): if menuid == "scan": - return [(_("Positioner setup"), PositionerMain)] + return [(_("Positioner setup"), PositionerMain, "positioner_setup", None)] else: return [] def Plugins(**kwargs): if (nimmanager.hasNimType("DVB-S")): - return PluginDescriptor(name=_("Positioner setup"), description="Setup your positioner", where = PluginDescriptor.WHERE_SETUP, fnc=PositionerSetupStart) + return PluginDescriptor(name=_("Positioner setup"), description="Setup your positioner", where = PluginDescriptor.WHERE_MENU, fnc=PositionerSetupStart) else: return []