From: Stefan Pluecken Date: Wed, 12 Oct 2005 00:49:04 +0000 (+0000) Subject: add NumberActionMap for better input of numbers X-Git-Tag: 2.6.0~5479 X-Git-Url: https://git.cweiske.de/enigma2.git/commitdiff_plain/66795123ebff2381a76b60a3bc81ee55c51ff6fd add NumberActionMap for better input of numbers --- diff --git a/lib/python/Components/ActionMap.py b/lib/python/Components/ActionMap.py index 0ff5098b..cd466c14 100644 --- a/lib/python/Components/ActionMap.py +++ b/lib/python/Components/ActionMap.py @@ -24,3 +24,13 @@ class ActionMap: else: print "unknown action %s/%s! typo in keymap?" % (context, action) return 0 + + +class NumberActionMap(ActionMap): + def action(self, contexts, action): + numbers = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"] + if (action in numbers): + self.actions[action](int(action)) + return 1 + else: + return ActionMap.action(self, contexts, action) \ No newline at end of file diff --git a/lib/python/Screens/NetworkSetup.py b/lib/python/Screens/NetworkSetup.py index 505d508f..3f5520b1 100644 --- a/lib/python/Screens/NetworkSetup.py +++ b/lib/python/Screens/NetworkSetup.py @@ -1,5 +1,5 @@ from Screen import Screen -from Components.ActionMap import ActionMap +from Components.ActionMap import NumberActionMap from Components.ConfigList import ConfigList from Components.config import config from Components.config import getConfigListEntry @@ -9,22 +9,22 @@ class NetworkSetup(Screen): def __init__(self, session): Screen.__init__(self, session) - self["actions"] = ActionMap(["SetupActions"], + self["actions"] = NumberActionMap(["SetupActions"], { "ok": self.keySave, "cancel": self.keyCancel, "left": self.keyLeft, "right": self.keyRight, - "1": self.keyNumber1, - "2": self.keyNumber2, - "3": self.keyNumber3, - "4": self.keyNumber4, - "5": self.keyNumber5, - "6": self.keyNumber6, - "7": self.keyNumber7, - "8": self.keyNumber8, - "9": self.keyNumber9, - "0": self.keyNumber0 + "1": self.keyNumberGlobal, + "2": self.keyNumberGlobal, + "3": self.keyNumberGlobal, + "4": self.keyNumberGlobal, + "5": self.keyNumberGlobal, + "6": self.keyNumberGlobal, + "7": self.keyNumberGlobal, + "8": self.keyNumberGlobal, + "9": self.keyNumberGlobal, + "0": self.keyNumberGlobal }, -1) self.list = [] @@ -62,27 +62,6 @@ class NetworkSetup(Screen): if (self["config"].getCurrent()[1].parent.enabled == True): self["config"].handleKey(config.key[str(number)]) - def keyNumber1(self): - self.keyNumberGlobal(1) - def keyNumber2(self): - self.keyNumberGlobal(2) - def keyNumber3(self): - self.keyNumberGlobal(3) - def keyNumber4(self): - self.keyNumberGlobal(4) - def keyNumber5(self): - self.keyNumberGlobal(5) - def keyNumber6(self): - self.keyNumberGlobal(6) - def keyNumber7(self): - self.keyNumberGlobal(7) - def keyNumber8(self): - self.keyNumberGlobal(8) - def keyNumber9(self): - self.keyNumberGlobal(9) - def keyNumber0(self): - self.keyNumberGlobal(0) - def keySave(self): #for x in self["config"].list: #x[1].save() diff --git a/lib/python/Screens/Setup.py b/lib/python/Screens/Setup.py index dd555c0a..6c2a9708 100644 --- a/lib/python/Screens/Setup.py +++ b/lib/python/Screens/Setup.py @@ -1,5 +1,5 @@ from Screen import Screen -from Components.ActionMap import ActionMap +from Components.ActionMap import NumberActionMap from Components.config import config #global config instance from Components.config import configSelection from Components.ConfigList import ConfigList @@ -78,30 +78,6 @@ class Setup(Screen): self["config"].handleKey(config.key[str(number)]) - # TODO ugly as hell. any better ideas? - def keyNumber1(self): - self.keyNumberGlobal(1) - def keyNumber2(self): - self.keyNumberGlobal(2) - def keyNumber3(self): - self.keyNumberGlobal(3) - def keyNumber4(self): - self.keyNumberGlobal(4) - def keyNumber5(self): - self.keyNumberGlobal(5) - def keyNumber6(self): - self.keyNumberGlobal(6) - def keyNumber7(self): - self.keyNumberGlobal(7) - def keyNumber8(self): - self.keyNumberGlobal(8) - def keyNumber9(self): - self.keyNumberGlobal(9) - def keyNumber0(self): - self.keyNumberGlobal(0) - - - def __init__(self, session, setup): Screen.__init__(self, session) @@ -132,21 +108,21 @@ class Setup(Screen): self["ok"] = Label("OK") self["cancel"] = Label("Cancel") - self["actions"] = ActionMap(["SetupActions"], + self["actions"] = NumberActionMap(["SetupActions"], { "cancel": self.keyCancel, "ok": self.keyOk, "left": self.keyLeft, "right": self.keyRight, "save": self.keySave, - "1": self.keyNumber1, - "2": self.keyNumber2, - "3": self.keyNumber3, - "4": self.keyNumber4, - "5": self.keyNumber5, - "6": self.keyNumber6, - "7": self.keyNumber7, - "8": self.keyNumber8, - "9": self.keyNumber9, - "0": self.keyNumber0 + "1": self.keyNumberGlobal, + "2": self.keyNumberGlobal, + "3": self.keyNumberGlobal, + "4": self.keyNumberGlobal, + "5": self.keyNumberGlobal, + "6": self.keyNumberGlobal, + "7": self.keyNumberGlobal, + "8": self.keyNumberGlobal, + "9": self.keyNumberGlobal, + "0": self.keyNumberGlobal }, -1)