diff options
| author | Felix Domke <tmbinc@elitedvb.net> | 2007-12-16 20:24:17 +0000 |
|---|---|---|
| committer | Felix Domke <tmbinc@elitedvb.net> | 2007-12-16 20:24:17 +0000 |
| commit | 96a171a3f8daf3ebae2990c1bfa10bdeb0c5e87c (patch) | |
| tree | b0a8b6eaf44253faa755013cdd1220c37268520f /lib | |
| parent | d119475f0c4221546ed2952164808c2114173a67 (diff) | |
| download | enigma2-96a171a3f8daf3ebae2990c1bfa10bdeb0c5e87c.tar.gz enigma2-96a171a3f8daf3ebae2990c1bfa10bdeb0c5e87c.zip | |
many keyboard improvements by Anders Holst
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/python/Components/Input.py | 18 | ||||
| -rw-r--r-- | lib/python/Screens/InputBox.py | 7 |
2 files changed, 18 insertions, 7 deletions
diff --git a/lib/python/Components/Input.py b/lib/python/Components/Input.py index 64ffdf4f..3c09ab9f 100644 --- a/lib/python/Components/Input.py +++ b/lib/python/Components/Input.py @@ -82,9 +82,7 @@ class Input(VariableText, HTMLComponent, GUIComponent, NumericalTextInput): s = self.instance.calculateSize() return (s.width(), s.height()) - def right(self): - if self.type == self.TEXT: - self.timeout() + def innerright(self): if self.allmarked: self.currPos = 0 self.allmarked = False @@ -94,6 +92,11 @@ class Input(VariableText, HTMLComponent, GUIComponent, NumericalTextInput): else: if self.currPos < len(self.Text): self.currPos += 1 + + def right(self): + if self.type == self.TEXT: + self.timeout() + self.innerright() self.update() def left(self): @@ -181,7 +184,7 @@ class Input(VariableText, HTMLComponent, GUIComponent, NumericalTextInput): self.allmarked = False else: self.insertChar(" ", self.currPos, False, True); - self.currPos += 1 + self.innerright() self.update() def delete(self): @@ -193,7 +196,7 @@ class Input(VariableText, HTMLComponent, GUIComponent, NumericalTextInput): else: self.deleteChar(self.currPos); if self.maxSize and self.overwrite: - self.currPos += 1 + self.innerright() self.update() def deleteBackward(self): @@ -223,7 +226,8 @@ class Input(VariableText, HTMLComponent, GUIComponent, NumericalTextInput): self.deleteAllChars() self.allmarked = False self.insertChar(unichr(code), self.currPos, False, False); - self.right() + self.innerright() + self.update() def number(self, number): if self.type == self.TEXT: @@ -237,5 +241,5 @@ class Input(VariableText, HTMLComponent, GUIComponent, NumericalTextInput): self.allmarked = False self.insertChar(newChar, self.currPos, owr, False); if self.type == self.PIN or self.type == self.NUMBER: - self.right() + self.innerright() self.update() diff --git a/lib/python/Screens/InputBox.py b/lib/python/Screens/InputBox.py index 55334d2f..fe21ea0a 100644 --- a/lib/python/Screens/InputBox.py +++ b/lib/python/Screens/InputBox.py @@ -108,6 +108,13 @@ class PinInput(InputBox): self["tries"] = Label("") self.onShown.append(self.showTries) + def gotAsciiCode(self): + if self["input"].currPos == len(self["input"]) - 1: + InputBox.gotAsciiCode(self) + self.go() + else: + InputBox.gotAsciiCode(self) + def keyNumberGlobal(self, number): if self["input"].currPos == len(self["input"]) - 1: InputBox.keyNumberGlobal(self, number) |
