use special refresh rate selection for DVI ports
authorStefan Pluecken <stefan.pluecken@multimedia-labs.de>
Fri, 25 Jan 2008 01:08:58 +0000 (01:08 +0000)
committerStefan Pluecken <stefan.pluecken@multimedia-labs.de>
Fri, 25 Jan 2008 01:08:58 +0000 (01:08 +0000)
lib/python/Plugins/SystemPlugins/Videomode/VideoWizard.py
lib/python/Plugins/SystemPlugins/Videomode/videowizard.xml

index 45ff6f0..8fffa5a 100644 (file)
@@ -48,7 +48,8 @@ class VideoWizard(Wizard):
                list = []
 
                for port in self.hw.getPortList():
-                       list.append((port, port))
+                       if self.hw.isPortUsed(port):
+                               list.append((port, port))
                return list
 
        def inputSelectionMade(self, index):
index b4b9faf..933d534 100644 (file)
@@ -27,8 +27,11 @@ self["rc"].moveTo(500, 50, 1)
 self["rc"].startMoving()
                </code>
        </step>
-       <step id="rateselection" nextstep="end" timeout="10" timeoutaction="selectnext">
-               <text value="Rate selection." />
+       <step id="rateselection" nextstep="dvirateintroduction" timeout="10" timeoutaction="selectnext">
+               <condition>
+self.condition = (self.port != "DVI")
+               </condition>            
+               <text value="Refresh rate selection." />
                <displaytext value="Select video mode rate" />
                <list type="dynamic" source="listRates" evaluation="rateSelectionMade" onselect="rateSelectionMoved" />
                <code>
@@ -42,6 +45,40 @@ self["rc"].moveTo(500, 50, 1)
 self["rc"].startMoving()
                </code>
        </step>
+       <step id="dvirateintroduction" nextstep="dvirateselection">
+               <condition>
+self.condition = (self.port == "DVI")
+               </condition>
+               <text value="In the next step, the refresh rates are probed. Your screen can go black while probing.\nPlease press OK to begin." />
+               <displaytext value="Please follow the instructions on the TV" />
+               <code>
+self["arrowdown"].moveTo(557, 232, 1)
+self["arrowdown"].startMoving()
+self["arrowup"].moveTo(800, 232, 1)
+self["arrowup"].startMoving()
+self["rc"].moveTo(500, 50, 1)
+self["rc"].startMoving()
+               </code>
+       </step>
+       <step id="dvirateselection" nextstep="end" timeout="10" timeoutaction="selectnext">
+               <condition>
+self.condition = (self.port == "DVI")
+               </condition>
+               <text value="The refresh rates are probed right now. If you can see this screen with 50 Hz selected, you should use this as the preferred option for best picture quality." />
+               <displaytext value="Select video mode rate" />
+               <list evaluation="rateSelectionMade" onselect="rateSelectionMoved">
+                       <listentry caption="50 Hz" step="50 Hz" />
+                       <listentry caption="60 Hz" step="60 Hz" />
+               </list>
+               <code>
+self["arrowdown"].moveTo(557, 232, 1)
+self["arrowdown"].startMoving()
+self["arrowup"].moveTo(800, 232, 1)
+self["arrowup"].startMoving()
+self["rc"].moveTo(500, 50, 1)
+self["rc"].startMoving()
+               </code>
+       </step>
        <step id="end">
                        <text value="The input port should be configured now." />
                        <displaytext value="No picture on TV? Press EXIT and retry." />