InputBox/Screen: remove trailing semicolon
[enigma2.git] / lib / python / Screens / Screen.py
index 2ba7342fb83480d193303027e221f8201a47fae6..3210186927d51d0dbddaaf2be4d39c0a36545ab0 100644 (file)
@@ -6,14 +6,18 @@ profile("LOAD:Source")
 from Components.Sources.Source import Source
 profile("LOAD:GUIComponent")
 from Components.GUIComponent import GUIComponent
+profile("LOAD:eRCInput")
+from enigma import eRCInput
 
 class Screen(dict, GUISkin):
 
+       False, SUSPEND_STOPS, SUSPEND_PAUSES = range(3)
        ALLOW_SUSPEND = False
 
        global_screen = None
 
        def __init__(self, session, parent = None):
+               dict.__init__(self)
                self.skinName = self.__class__.__name__
                self.session = session
                self.parent = parent
@@ -45,6 +49,27 @@ class Screen(dict, GUISkin):
                # don't care about having or not having focus.
                self.stand_alone = False
 
+               self.onShow.append(self.saveKeyboardMode)
+               self.onHide.append(self.restoreKeyboardMode)
+               self.keyboardMode = None
+
+       def saveKeyboardMode(self):
+               rcinput = eRCInput.getInstance()
+               self.keyboardMode = rcinput.getKeyboardMode()
+
+       def setKeyboardModeAscii(self):
+               rcinput = eRCInput.getInstance()
+               rcinput.setKeyboardMode(rcinput.kmAscii)
+
+       def setKeyboardModeNone(self):
+               rcinput = eRCInput.getInstance()
+               rcinput.setKeyboardMode(rcinput.kmNone)
+
+       def restoreKeyboardMode(self):
+               rcinput = eRCInput.getInstance()
+               if self.keyboardMode is not None:
+                       rcinput.setKeyboardMode(self.keyboardMode)
+
        def execBegin(self):
                self.active_components = [ ]
                if self.close_on_next_exec is not None: