X-Git-Url: http://code.vuplus.com/gitweb/?p=vuplus_dvbapp;a=blobdiff_plain;f=lib%2Fpython%2FPlugins%2FSystemPlugins%2FVideomode%2FVideoWizard.py;h=3c76685e3225f29bc46b357b79164942ce5dd22f;hp=f46b11c26b3787754554a972b0eb0d705146861b;hb=db96b0766a1923d1fd4ba028c345c15b6a57dab5;hpb=b6b0a7d3c89c6f7fa4f6b64950b8963658f2baab diff --git a/lib/python/Plugins/SystemPlugins/Videomode/VideoWizard.py b/lib/python/Plugins/SystemPlugins/Videomode/VideoWizard.py index f46b11c..3c76685 100644 --- a/lib/python/Plugins/SystemPlugins/Videomode/VideoWizard.py +++ b/lib/python/Plugins/SystemPlugins/Videomode/VideoWizard.py @@ -1,22 +1,21 @@ -from Screens.Wizard import wizardManager, WizardSummary +from Screens.Wizard import WizardSummary from Screens.WizardLanguage import WizardLanguage -import sys +from Screens.Rc import Rc from VideoHardware import video_hw -from Components.Pixmap import Pixmap, MovingPixmap +from Components.Pixmap import Pixmap, MovingPixmap, MultiPixmap from Components.config import config, ConfigBoolean, configfile -from Tools.Directories import resolveFilename, SCOPE_PLUGINS, SCOPE_SKIN_IMAGE -from enigma import eListboxPythonMultiContent, gFont, RT_HALIGN_LEFT -from Tools.LoadPixmap import LoadPixmap +from Tools.Directories import resolveFilename, SCOPE_PLUGINS +from Tools.HardwareInfo import HardwareInfo config.misc.showtestcard = ConfigBoolean(default = False) class VideoWizardSummary(WizardSummary): skin = """ - - + + @@ -32,7 +31,7 @@ class VideoWizardSummary(WizardSummary): def setLCDPic(self, file): self["pic"].instance.setPixmapFromFile(file) -class VideoWizard(WizardLanguage): +class VideoWizard(WizardLanguage, Rc): skin = """ @@ -44,8 +43,9 @@ class VideoWizard(WizardLanguage): - + + """ % (resolveFilename(SCOPE_PLUGINS, "SystemPlugins/Videomode/Scart.png")) @@ -56,12 +56,9 @@ class VideoWizard(WizardLanguage): self.hw = video_hw WizardLanguage.__init__(self, session, showSteps = False, showStepSlider = False) + Rc.__init__(self) self["wizard"] = Pixmap() - self["rc"] = MovingPixmap() self["portpic"] = Pixmap() - self["arrowdown"] = MovingPixmap() - self["arrowup"] = MovingPixmap() - self["arrowup2"] = MovingPixmap() self.port = None self.mode = None @@ -79,11 +76,16 @@ class VideoWizard(WizardLanguage): configfile.save() def listInputChannels(self): + hw_type = HardwareInfo().get_device_name() list = [] for port in self.hw.getPortList(): if self.hw.isPortUsed(port): - list.append((port,port)) + descr = port + if descr == 'DVI' and hw_type in ('dm500hd', 'dm800se'): + descr = 'HDMI' + if port != "DVI-PC": + list.append((descr,port)) list.sort(key = lambda x: x[0]) print "listInputChannels:", list return list @@ -97,13 +99,19 @@ class VideoWizard(WizardLanguage): print "input selection moved:", self.selection self.inputSelect(self.selection) if self["portpic"].instance is not None: - self["portpic"].instance.setPixmapFromFile(resolveFilename(SCOPE_PLUGINS, "SystemPlugins/Videomode/" + self.selection + ".png")) + picname = self.selection + if picname == "DVI" and HardwareInfo().get_device_name() in ("dm500hd", "dm800se"): + picname = "HDMI" + self["portpic"].instance.setPixmapFromFile(resolveFilename(SCOPE_PLUGINS, "SystemPlugins/Videomode/" + picname + ".png")) def inputSelect(self, port): print "inputSelect:", port modeList = self.hw.getModeList(self.selection) print "modeList:", modeList - self.hw.setMode(port = port, mode = modeList[0][0], rate = modeList[0][1][0]) + self.port = port + if (len(modeList) > 0): + ratesList = self.listRates(modeList[0][0]) + self.hw.setMode(port = port, mode = modeList[0][0], rate = ratesList[0][0]) def listModes(self): list = [] @@ -126,8 +134,12 @@ class VideoWizard(WizardLanguage): def modeSelect(self, mode): ratesList = self.listRates(mode) print "ratesList:", ratesList - self.hw.setMode(port = self.port, mode = mode, rate = ratesList[0][0]) - + if self.port == "DVI" and mode in ("720p", "1080i"): + self.rate = "multi" + self.hw.setMode(port = self.port, mode = mode, rate = "multi") + else: + self.hw.setMode(port = self.port, mode = mode, rate = ratesList[0][0]) + def listRates(self, querymode = None): if querymode is None: querymode = self.mode @@ -137,6 +149,11 @@ class VideoWizard(WizardLanguage): print mode if mode[0] == querymode: for rate in mode[1]: + if self.port == "DVI-PC": + print "rate:", rate + if rate == "640x480": + list.insert(0, (rate, rate)) + continue list.append((rate, rate)) return list @@ -162,7 +179,7 @@ class VideoWizard(WizardLanguage): config.misc.showtestcard.value = False def keyNumberGlobal(self, number): - if number in [1,2,3]: + if number in (1,2,3): if number == 1: self.hw.saveMode("DVI", "720p", "multi") elif number == 2: