git.cweiske.de
/
enigma2.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
make retransmit rotor diseqc command retries changable
[enigma2.git]
/
lib
/
python
/
Tools
/
NumericalTextInput.py
diff --git
a/lib/python/Tools/NumericalTextInput.py
b/lib/python/Tools/NumericalTextInput.py
index 1acd2548e0e66fff36c3792691b217329a1d6040..3379d9a8c5965cf1167cac0226a4e9fb51751026 100644
(file)
--- a/
lib/python/Tools/NumericalTextInput.py
+++ b/
lib/python/Tools/NumericalTextInput.py
@@
-1,11
+1,13
@@
-# -*- coding:
latin
-1 -*-
-from enigma import
*
+# -*- coding:
iso-8859
-1 -*-
+from enigma import
eTimer
from Components.Language import language
class NumericalTextInput:
from Components.Language import language
class NumericalTextInput:
- def __init__(self, nextFunc
tion = Non
e):
+ def __init__(self, nextFunc
=None, handleTimeout = Tru
e):
self.mapping = []
self.lang = language.getLanguage()
self.mapping = []
self.lang = language.getLanguage()
+ self.useableChars=None
+ self.nextFunction=nextFunc
if self.lang == 'de_DE':
self.mapping.append (u".,?'\"0-()@/:_") # 0
if self.lang == 'de_DE':
self.mapping.append (u".,?'\"0-()@/:_") # 0
@@
-40,33
+42,49
@@
class NumericalTextInput:
self.mapping.append (u"pqrs7PQRS") # 7
self.mapping.append (u"tuv8TUV") # 8
self.mapping.append (u"wxyz9WXYZ") # 9
self.mapping.append (u"pqrs7PQRS") # 7
self.mapping.append (u"tuv8TUV") # 8
self.mapping.append (u"wxyz9WXYZ") # 9
-
- self.nextFunction = nextFunction
- self.Timer = eTimer()
- self.Timer.timeout.get().append(self.nextChar)
+
+ if handleTimeout:
+ self.timer = eTimer()
+ self.timer.timeout.get().append(self.timeout)
+ else:
+ self.timer = None
self.lastKey = -1
self.lastKey = -1
- self.pos = 0
+ self.pos = -1
+
+ def setUseableChars(self, useable):
+ self.useableChars = useable
def getKey(self, num):
def getKey(self, num):
- self.Timer.start(1000, True)
- if (self.lastKey != num):
+ cnt=0
+ if self.timer is not None:
+ self.timer.start(1000, True)
+ if self.lastKey != num:
self.lastKey = num
self.lastKey = num
- self.pos =
0
-
els
e:
+ self.pos =
-1
+
while Tru
e:
self.pos += 1
self.pos += 1
- if
(len(self.mapping[num]) <= self.pos)
:
+ if
len(self.mapping[num]) <= self.pos
:
self.pos = 0
self.pos = 0
+ if self.useableChars:
+ pos = self.useableChars.find(self.mapping[num][self.pos])
+ if pos == -1:
+ cnt += 1
+ if cnt < len(self.mapping[num]):
+ continue
+ else:
+ return None
+ break
return self.mapping[num][self.pos]
def nextKey(self):
return self.mapping[num][self.pos]
def nextKey(self):
- self.Timer.stop()
+ if self.timer is not None:
+ self.timer.stop()
self.lastKey = -1
def nextChar(self):
self.lastKey = -1
def nextChar(self):
- print "Timer done"
- try:
- self.nextKey()
- if (self.nextFunction != None):
- self.nextFunction()
- except AttributeError:
- print "Text Input object deleted with running nextChar timer?"
+ self.nextKey()
+ if self.nextFunction:
+ self.nextFunction()
+
+ def timeout(self):
+ self.nextChar()