aboutsummaryrefslogtreecommitdiff
path: root/lib/python
diff options
context:
space:
mode:
authorFelix Domke <tmbinc@elitedvb.net>2007-12-16 20:24:17 +0000
committerFelix Domke <tmbinc@elitedvb.net>2007-12-16 20:24:17 +0000
commit96a171a3f8daf3ebae2990c1bfa10bdeb0c5e87c (patch)
treeb0a8b6eaf44253faa755013cdd1220c37268520f /lib/python
parentd119475f0c4221546ed2952164808c2114173a67 (diff)
downloadenigma2-96a171a3f8daf3ebae2990c1bfa10bdeb0c5e87c.tar.gz
enigma2-96a171a3f8daf3ebae2990c1bfa10bdeb0c5e87c.zip
many keyboard improvements by Anders Holst
Diffstat (limited to 'lib/python')
-rw-r--r--lib/python/Components/Input.py18
-rw-r--r--lib/python/Screens/InputBox.py7
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)