diff options
| author | Andreas Monzner <andreas.monzner@multimedia-labs.de> | 2006-10-26 15:36:40 +0000 |
|---|---|---|
| committer | Andreas Monzner <andreas.monzner@multimedia-labs.de> | 2006-10-26 15:36:40 +0000 |
| commit | e03c732afb410b4d6b9f9540c36c33c941ee38f1 (patch) | |
| tree | 6726b70fe68281c956eb5044e991bd0d5ba074b1 /lib/python/Screens/Scart.py | |
| parent | 2acb4b8b6992707d79f7678f714c711e2c6fce1f (diff) | |
| download | enigma2-e03c732afb410b4d6b9f9540c36c33c941ee38f1.tar.gz enigma2-e03c732afb410b4d6b9f9540c36c33c941ee38f1.zip | |
add auto vcr switching support (needs new drivers (fp.ko))
Diffstat (limited to 'lib/python/Screens/Scart.py')
| -rw-r--r-- | lib/python/Screens/Scart.py | 41 |
1 files changed, 28 insertions, 13 deletions
diff --git a/lib/python/Screens/Scart.py b/lib/python/Screens/Scart.py index 3bb2ca9c..329300a1 100644 --- a/lib/python/Screens/Scart.py +++ b/lib/python/Screens/Scart.py @@ -6,20 +6,35 @@ from Components.AVSwitch import AVSwitch from enigma import * class Scart(Screen): - def __init__(self, session): + def __init__(self, session, start_visible=True): Screen.__init__(self, session) - + self.avswitch = AVSwitch() - - self.avswitch.setInput("SCART") - - self.onExecBegin.append(self.showMessageBox) - + + if start_visible: + self.onExecBegin.append(self.showMessageBox) + self.msgVisible = None + else: + self.msgVisible = False + def showMessageBox(self): - # only open messagebox on first execBegin - self.onExecBegin.remove(self.showMessageBox) - self.session.openWithCallback(self.switchToTV, MessageBox, _("If you see this, something is wrong with\nyour scart connection. Press OK to return."), MessageBox.TYPE_ERROR) - + if self.msgVisible is None: + self.onExecBegin.remove(self.showMessageBox) + self.msgVisible = False + + if not self.msgVisible: + self.msgVisible = True + self.avswitch.setInput("SCART") + self.msgBox = self.session.openWithCallback(self.MsgBoxClosed, MessageBox, _("If you see this, something is wrong with\nyour scart connection. Press OK to return."), MessageBox.TYPE_ERROR) + + def MsgBoxClosed(self, *val): + self.msgBox = None + self.switchToTV() + def switchToTV(self, *val): - self.avswitch.setInput("ENCODER") - self.close() + if self.msgVisible: + if self.msgBox: + self.msgBox.close() # ... MsgBoxClosed -> switchToTV again.. + return + self.avswitch.setInput("ENCODER") + self.msgVisible = False |
