X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/788631e9d94a53a43fa127dcc2de4ce8fe05dca2..5928c8c18abacbedd119752fe294a9393da6d2f7:/lib/python/Plugins/SystemPlugins/Videomode/VideoWizard.py
diff --git a/lib/python/Plugins/SystemPlugins/Videomode/VideoWizard.py b/lib/python/Plugins/SystemPlugins/Videomode/VideoWizard.py
old mode 100644
new mode 100755
index cb64f9ac..9b9044ee
--- a/lib/python/Plugins/SystemPlugins/Videomode/VideoWizard.py
+++ b/lib/python/Plugins/SystemPlugins/Videomode/VideoWizard.py
@@ -1,25 +1,33 @@
-from Screens.Wizard import Wizard, wizardManager, WizardSummary
-import sys
+from Screens.Wizard import WizardSummary
+from Screens.WizardLanguage import WizardLanguage
+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 = """
-
-
-
+ skin = (
+ """
+
+
- """ #% (resolveFilename(SCOPE_PLUGINS, "SystemPlugins/Videomode/lcd_Scart.png"))
+ """,
+ """
+
+
+
+
+
+ """)
+ #% (resolveFilename(SCOPE_PLUGINS, "SystemPlugins/Videomode/lcd_Scart.png"))
def __init__(self, session, parent):
WizardSummary.__init__(self, session, parent)
@@ -31,20 +39,23 @@ class VideoWizardSummary(WizardSummary):
def setLCDPic(self, file):
self["pic"].instance.setPixmapFromFile(file)
-class VideoWizard(Wizard):
+class VideoWizard(WizardLanguage, Rc):
skin = """
-
-
+
+
+
+
-
-
-
-
+
+
+
+
+
""" % (resolveFilename(SCOPE_PLUGINS, "SystemPlugins/Videomode/Scart.png"))
def __init__(self, session):
@@ -52,13 +63,10 @@ class VideoWizard(Wizard):
self.xmlfile = resolveFilename(SCOPE_PLUGINS, "SystemPlugins/Videomode/videowizard.xml")
self.hw = video_hw
- Wizard.__init__(self, session, showSteps = False, showStepSlider = False)
+ 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
@@ -71,14 +79,21 @@ class VideoWizard(Wizard):
return VideoWizardSummary
def markDone(self):
- pass
+ config.misc.videowizardenabled.value = 0
+ config.misc.videowizardenabled.save()
+ 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
@@ -92,19 +107,25 @@ class VideoWizard(Wizard):
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 = []
print "modes for port", self.port
for mode in self.hw.getModeList(self.port):
- if mode[0] != "PC":
+ #if mode[0] != "PC":
list.append((mode[0], mode[0]))
print "modeslist:", list
return list
@@ -121,8 +142,12 @@ class VideoWizard(Wizard):
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
@@ -132,6 +157,11 @@ class VideoWizard(Wizard):
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
@@ -155,3 +185,16 @@ class VideoWizard(Wizard):
config.misc.showtestcard.value = True
else:
config.misc.showtestcard.value = False
+
+ def keyNumberGlobal(self, number):
+ if number in (1,2,3):
+ if number == 1:
+ self.hw.saveMode("DVI", "720p", "multi")
+ elif number == 2:
+ self.hw.saveMode("DVI", "1080i", "multi")
+ elif number == 3:
+ self.hw.saveMode("Scart", "Multi", "multi")
+ self.hw.setConfiguredMode()
+ self.close()
+
+ WizardLanguage.keyNumberGlobal(self, number)