1 from Screens.Wizard import WizardSummary
2 from Screens.WizardLanguage import WizardLanguage
3 from Screens.Rc import Rc
4 from Components.Pixmap import Pixmap
5 from Components.config import config, configfile, ConfigBoolean
6 from Tools.Directories import resolveFilename, SCOPE_PLUGINS
8 from VideoHardware import video_hw
10 config.misc.showtestcard = ConfigBoolean(default = False)
12 class VideoWizard(WizardLanguage, Rc):
14 <screen name="VideoWizard" position="0,0" size="720,576" title="Welcome..." flags="wfNoBorder" >
15 <widget name="text" position="153,50" size="340,270" font="Regular;23" />
16 <widget source="list" render="Listbox" position="50,300" size="440,200" scrollbarMode="showOnDemand" >
17 <convert type="StringList" />
19 <widget name="config" position="50,300" size="440,200" scrollbarMode="showOnDemand" zPosition="1" transparent="1" />
20 <ePixmap pixmap="skin_default/buttons/button_red.png" position="40,225" size="15,16" alphatest="on" />
21 <widget name="languagetext" position="55,225" size="95,30" font="Regular;18" />
22 <widget name="wizard" pixmap="skin_default/wizard.png" position="40,50" zPosition="10" size="110,174" alphatest="on"/>
23 <widget name="rc" pixmaps="skin_default/rc.png,skin_default/rcold.png" position="500,50" zPosition="10" size="154,500" alphatest="on"/>
24 <widget name="arrowdown" pixmap="skin_default/arrowdown.png" position="-100,-100" zPosition="11" size="37,70" alphatest="on"/>
25 <widget name="arrowdown2" pixmap="skin_default/arrowdown.png" position="-100,-100" zPosition="11" size="37,70" alphatest="on"/>
26 <widget name="arrowup" pixmap="skin_default/arrowup.png" position="-100,-100" zPosition="11" size="37,70" alphatest="on"/>
27 <widget name="arrowup2" pixmap="skin_default/arrowup.png" position="-100,-100" zPosition="11" size="37,70" alphatest="on"/>
31 def __init__(self, session):
32 self.xmlfile = resolveFilename(SCOPE_PLUGINS, "SystemPlugins/Videomode/videowizard.xml")
33 self.video_cfg = video_hw
35 WizardLanguage.__init__(self, session)
38 self["wizard"] = Pixmap()
39 self["portpic"] = Pixmap()
45 def createSummary(self):
46 from Screens.Wizard import WizardSummary
50 config.misc.videowizardenabled.setValue(False)
51 config.misc.videowizardenabled.save()
55 hw_type = self.video_cfg.getDeviceName()
58 for port in self.video_cfg.getPortList():
59 if self.video_cfg.isPortUsed(port):
61 if desc == "DVI" and self.video_cfg.isHDMIAvailable(hw_type):
65 list.append( (desc, port))
67 list.sort(key = lambda x: x[0])
70 def portSelectionMade(self, index):
72 self.video_cfg.setVideomode(self.port, self.mode, self.rate)
74 def portSelectionMoved(self):
75 self.video_cfg.setVideomode(self.selection, self.mode, self.rate)
79 for mode in self.video_cfg.getModeList(self.port):
80 list.append( (mode[0], mode[0]))
84 def modeSelectionMade(self, index):
86 self.modeSelect(self.mode)
88 def modeSelectionMoved(self):
89 self.modeSelect(self.selection)
91 def modeSelect(self, mode):
92 if self.port == "DVI" and self.video_cfg.isWidescreenMode(mode):
96 self.video_cfg.setVideomode(self.port, mode, self.rate)
100 for rate in self.video_cfg.getRateList(self.port, self.mode):
101 list.append( (rate, rate))
105 def rateSelectionMade(self, index):
107 self.video_cfg.setVideomode(self.port, self.mode, self.rate)
109 def rateSelectionMoved(self):
110 self.video_cfg.setVideomode(self.port, self.mode, self.selection)
112 def showVideoTune(self, selection = None):
113 if selection is None:
114 selection = self.selection
116 if selection == "yes":
117 config.misc.showtestcard.value = True
119 config.misc.showtestcard.value = False