diff options
| author | Felix Domke <tmbinc@elitedvb.net> | 2008-02-11 23:42:08 +0000 |
|---|---|---|
| committer | Felix Domke <tmbinc@elitedvb.net> | 2008-02-11 23:42:08 +0000 |
| commit | e66f4bdb5fd20a77e5db713d732275aa32b22af5 (patch) | |
| tree | 1db2063d2991f1005d72efdd3a690a0a6705119e /lib/python/Screens | |
| parent | 5ce65d82dcb11e8c5886be467fefecc5e70d4868 (diff) | |
| download | enigma2-e66f4bdb5fd20a77e5db713d732275aa32b22af5.tar.gz enigma2-e66f4bdb5fd20a77e5db713d732275aa32b22af5.zip | |
text edit patch #5 by Anders Holst
Diffstat (limited to 'lib/python/Screens')
| -rw-r--r-- | lib/python/Screens/ChannelSelection.py | 22 | ||||
| -rw-r--r-- | lib/python/Screens/InputBox.py | 12 | ||||
| -rw-r--r-- | lib/python/Screens/MinuteInput.py | 20 | ||||
| -rw-r--r-- | lib/python/Screens/SleepTimerEdit.py | 20 |
4 files changed, 62 insertions, 12 deletions
diff --git a/lib/python/Screens/ChannelSelection.py b/lib/python/Screens/ChannelSelection.py index c122e62e..e1402aea 100644 --- a/lib/python/Screens/ChannelSelection.py +++ b/lib/python/Screens/ChannelSelection.py @@ -5,7 +5,7 @@ from Components.ActionMap import NumberActionMap, ActionMap, HelpableActionMap from Components.MenuList import MenuList from Components.ServiceEventTracker import ServiceEventTracker from EpgSelection import EPGSelection -from enigma import eServiceReference, eEPGCache, eServiceCenter, eTimer, eDVBDB, iPlayableService, iServiceInformation +from enigma import eServiceReference, eEPGCache, eServiceCenter, eRCInput, eTimer, eDVBDB, iPlayableService, iServiceInformation, getPrevAsciiCode from Components.config import config, ConfigSubsection, ConfigText from Tools.NumericalTextInput import NumericalTextInput from Components.NimManager import nimmanager @@ -648,7 +648,7 @@ class ChannelSelectionBase(Screen): self.bouquetNumOffsetCache = { } - self["ChannelSelectBaseActions"] = NumberActionMap(["ChannelSelectBaseActions", "NumberActions"], + self["ChannelSelectBaseActions"] = NumberActionMap(["ChannelSelectBaseActions", "NumberActions", "InputAsciiActions"], { "showFavourites": self.showFavourites, "showAllServices": self.showAllServices, @@ -658,6 +658,7 @@ class ChannelSelectionBase(Screen): "prevBouquet": self.prevBouquet, "nextMarker": self.nextMarker, "prevMarker": self.prevMarker, + "gotAsciiCode": self.keyAsciiCode, "1": self.keyNumberGlobal, "2": self.keyNumberGlobal, "3": self.keyNumberGlobal, @@ -972,6 +973,12 @@ class ChannelSelectionBase(Screen): if len(charstr) == 1: self.servicelist.moveToChar(charstr[0]) + def keyAsciiCode(self): + unichar = unichr(getPrevAsciiCode()) + charstr = unichar.encode("utf-8") + if len(charstr) == 1: + self.servicelist.moveToChar(charstr[0]) + def getRoot(self): return self.servicelist.getRoot() @@ -1087,6 +1094,15 @@ class ChannelSelection(ChannelSelectionBase, ChannelSelectionEdit, ChannelSelect self.revertMode = None config.usage.multibouquet.addNotifier(self.multibouquet_config_changed) self.new_service_played = False + self.onExecBegin.append(self.asciiOn) + + def asciiOn(self): + rcinput = eRCInput.getInstance() + rcinput.setKeyboardMode(rcinput.kmAscii) + + def asciiOff(self): + rcinput = eRCInput.getInstance() + rcinput.setKeyboardMode(rcinput.kmNone) def multibouquet_config_changed(self, val): self.recallBouquetMode() @@ -1154,6 +1170,7 @@ class ChannelSelection(ChannelSelectionBase, ChannelSelectionEdit, ChannelSelect root = self.getRoot() if not root or not (root.flags & eServiceReference.isGroup): self.zap() + self.asciiOff() self.close(ref) #called from infoBar and channelSelected @@ -1298,6 +1315,7 @@ class ChannelSelection(ChannelSelectionBase, ChannelSelectionEdit, ChannelSelect elif self.revertMode == MODE_RADIO: self.setModeRadio() self.revertMode = None + self.asciiOff() self.close(None) from Screens.InfoBarGenerics import InfoBarEvent, InfoBarServiceName diff --git a/lib/python/Screens/InputBox.py b/lib/python/Screens/InputBox.py index fe21ea0a..16fadf3d 100644 --- a/lib/python/Screens/InputBox.py +++ b/lib/python/Screens/InputBox.py @@ -22,15 +22,12 @@ class InputBox(Screen): "back": self.cancel, "left": self.keyLeft, "right": self.keyRight, - "moveLeft": self.keyLeft, - "moveRight": self.keyRight, - "moveHome": self.keyHome, - "moveEnd": self.keyEnd, + "home": self.keyHome, + "end": self.keyEnd, "deleteForward": self.keyDelete, "deleteBackward": self.keyBackspace, "tab": self.keyTab, "toggleOverwrite": self.keyInsert, - "accept": self.go, "1": self.keyNumberGlobal, "2": self.keyNumberGlobal, "3": self.keyNumberGlobal, @@ -42,8 +39,9 @@ class InputBox(Screen): "9": self.keyNumberGlobal, "0": self.keyNumberGlobal }, -1) - rcinput = eRCInput.getInstance() - rcinput.setKeyboardMode(rcinput.kmAscii) + if self["input"].type == Input.TEXT: + rcinput = eRCInput.getInstance() + rcinput.setKeyboardMode(rcinput.kmAscii) def gotAsciiCode(self): self["input"].handleAscii(getPrevAsciiCode()) diff --git a/lib/python/Screens/MinuteInput.py b/lib/python/Screens/MinuteInput.py index 53e33735..f01fbbec 100644 --- a/lib/python/Screens/MinuteInput.py +++ b/lib/python/Screens/MinuteInput.py @@ -8,7 +8,7 @@ class MinuteInput(Screen): self["minutes"] = Input(str(basemins), type=Input.NUMBER) - self["actions"] = NumberActionMap([ "InputActions" , "MinuteInputActions" ], + self["actions"] = NumberActionMap([ "InputActions" , "MinuteInputActions", "TextEntryActions", "KeyboardInputActions" ], { "1": self.keyNumberGlobal, "2": self.keyNumberGlobal, @@ -22,6 +22,10 @@ class MinuteInput(Screen): "0": self.keyNumberGlobal, "left": self.left, "right": self.right, + "home": self.home, + "end": self.end, + "deleteForward": self.deleteForward, + "deleteBackward": self.deleteBackward, "up": self.up, "down": self.down, "ok": self.ok, @@ -37,7 +41,19 @@ class MinuteInput(Screen): def right(self): self["minutes"].right() - + + def home(self): + self["minutes"].home() + + def end(self): + self["minutes"].end() + + def deleteForward(self): + self["minutes"].delete() + + def deleteBackward(self): + self["minutes"].deleteBackward() + def up(self): self["minutes"].up() diff --git a/lib/python/Screens/SleepTimerEdit.py b/lib/python/Screens/SleepTimerEdit.py index f724bc5f..54dd7e14 100644 --- a/lib/python/Screens/SleepTimerEdit.py +++ b/lib/python/Screens/SleepTimerEdit.py @@ -25,7 +25,7 @@ class SleepTimerEdit(Screen): self["input"] = Input(text = str(self.session.nav.SleepTimer.getCurrentSleepTime()), maxSize = False, type = Input.NUMBER) self["aftertext"] = Label(_("minutes")) - self["actions"] = NumberActionMap(["SleepTimerEditorActions"], + self["actions"] = NumberActionMap(["SleepTimerEditorActions", "TextEntryActions", "KeyboardInputActions"], { "exit": self.cancel, "select": self.select, @@ -41,6 +41,12 @@ class SleepTimerEdit(Screen): "0": self.keyNumberGlobal, "selectLeft": self.selectLeft, "selectRight": self.selectRight, + "left": self.selectLeft, + "right": self.selectRight, + "home": self.selectHome, + "end": self.selectEnd, + "deleteForward": self.deleteForward, + "deleteBackward": self.deleteBackward, "disableTimer": self.disableTimer, "toggleAction": self.toggleAction, "toggleAsk": self.toggleAsk @@ -85,6 +91,18 @@ class SleepTimerEdit(Screen): def selectRight(self): self["input"].right() + def selectHome(self): + self["input"].home() + + def selectEnd(self): + self["input"].end() + + def deleteForward(self): + self["input"].delete() + + def deleteBackward(self): + self["input"].deleteBackward() + def disableTimer(self): self.is_active = not self.is_active self.updateColors() |
