X-Git-Url: http://code.vuplus.com/gitweb/?a=blobdiff_plain;f=lib%2Fpython%2FPlugins%2FSystemPlugins%2FVideomode%2FVideoHardware.py;h=6ecbfd49cd37081dbce722d24d9112d3805c580c;hb=6289ef18d5095cef593653918df00f725b4f68c4;hp=64f79e04e6295b07883e1bc091ce479b9d9cdeac;hpb=574f425cc1ebece0aa5f09fb77a8cb7ad0310a1f;p=vuplus_dvbapp diff --git a/lib/python/Plugins/SystemPlugins/Videomode/VideoHardware.py b/lib/python/Plugins/SystemPlugins/Videomode/VideoHardware.py index 64f79e0..6ecbfd4 100644 --- a/lib/python/Plugins/SystemPlugins/Videomode/VideoHardware.py +++ b/lib/python/Plugins/SystemPlugins/Videomode/VideoHardware.py @@ -2,6 +2,7 @@ from enigma import eTimer from Components.config import config, ConfigSelection, ConfigSubDict, ConfigYesNo from Tools.CList import CList +from Tools.HardwareInfo import HardwareInfo # The "VideoHardware" is the interface to /proc/stb/video. # It generates hotplug events, and gives you the list of @@ -95,6 +96,10 @@ class VideoHardware: self.readAvailableModes() + if self.modes.has_key("DVI-PC") and not self.getModeList("DVI-PC"): + print "remove DVI-PC because of not existing modes" + del self.modes["DVI-PC"] + self.createConfig() # self.on_hotplug.append(self.createConfig) @@ -191,10 +196,12 @@ class VideoHardware: print "saveMode", port, mode, rate config.av.videoport.value = port config.av.videoport.save() - config.av.videomode[port].value = mode - config.av.videomode[port].save() - config.av.videorate[mode].value = rate - config.av.videorate[mode].save() + if port in config.av.videomode: + config.av.videomode[port].value = mode + config.av.videomode[port].save() + if mode in config.av.videorate: + config.av.videorate[mode].value = rate + config.av.videorate[mode].save() def isPortAvailable(self, port): # fixme @@ -224,20 +231,29 @@ class VideoHardware: return res def createConfig(self, *args): - # create list of output ports - portlist = self.getPortList() + hw_type = HardwareInfo().get_device_name() + lst = [] - # create list of available modes - config.av.videoport = ConfigSelection(choices = [(port, _(port)) for port in portlist]) config.av.videomode = ConfigSubDict() config.av.videorate = ConfigSubDict() + # create list of output ports + portlist = self.getPortList() for port in portlist: + descr = port + if descr == 'DVI' and hw_type in ('dm500hd', 'dm800se', 'dm7020hd'): + descr = 'HDMI' + elif descr == 'DVI-PC' and hw_type in ('dm500hd', 'dm800se', 'dm7020hd'): + descr = 'HDMI-PC' + lst.append((port, descr)) + + # create list of available modes modes = self.getModeList(port) if len(modes): config.av.videomode[port] = ConfigSelection(choices = [mode for (mode, rates) in modes]) for (mode, rates) in modes: config.av.videorate[mode] = ConfigSelection(choices = rates) + config.av.videoport = ConfigSelection(choices = lst) def setConfiguredMode(self): port = config.av.videoport.value