Merge remote branch 'origin/acid-burn/virtualkeyboard' into experimental
[vuplus_dvbapp] / lib / python / Tools / NumericalTextInput.py
index 2749324..252e174 100644 (file)
@@ -1,50 +1,82 @@
-# -*- coding: iso-8859-1 -*-
+# -*- coding: UTF-8 -*-
 from enigma import eTimer
 from Components.Language import language
 
 class NumericalTextInput:
-       def __init__(self, nextFunc=None, handleTimeout = True):
+       def __init__(self, nextFunc=None, handleTimeout = True, search = False):
                self.mapping = []
                self.lang = language.getLanguage()
                self.useableChars=None
                self.nextFunction=nextFunc
-               
-               if self.lang == 'de_DE':
-                       self.mapping.append (u".,?'\"0-()@/:_$") # 0
+
+               if handleTimeout:
+                       self.timer = eTimer()
+                       self.timer.callback.append(self.timeout)
+               else:
+                       self.timer = None
+               self.lastKey = -1
+               self.pos = -1
+
+               if search:
+                       self.mapping.append (u"%_0") # 0
                        self.mapping.append (u" 1") # 1
-                       self.mapping.append (u"a�bc2A�BC") # 2
+                       self.mapping.append (u"abc2") # 2
+                       self.mapping.append (u"def3") # 3
+                       self.mapping.append (u"ghi4") # 4
+                       self.mapping.append (u"jkl5") # 5
+                       self.mapping.append (u"mno6") # 6
+                       self.mapping.append (u"pqrs7") # 7
+                       self.mapping.append (u"tuv8") # 8
+                       self.mapping.append (u"wxyz9") # 9
+                       return
+
+               if self.lang == 'de_DE':
+                       self.mapping.append (u"0,?!&@=*'+\"()$~") # 0
+                       self.mapping.append (u" 1.:/-_") # 1
+                       self.mapping.append (u"abcä2ABCÄ") # 2
                        self.mapping.append (u"def3DEF") # 3
                        self.mapping.append (u"ghi4GHI") # 4
                        self.mapping.append (u"jkl5JKL") # 5
-                       self.mapping.append (u"mno�6MNO�") # 6
-                       self.mapping.append (u"pqrs�7PQRS�") # 7
-                       self.mapping.append (u"tu�v8TU�V") # 8
+                       self.mapping.append (u"mnoö6MNOÖ") # 6
+                       self.mapping.append (u"pqrsß7PQRSß") # 7
+                       self.mapping.append (u"tuvü8TUVÜ") # 8
                        self.mapping.append (u"wxyz9WXYZ") # 9
                elif self.lang == 'es_ES':
-                       self.mapping.append (u".,?'\"0-()@/:_$") # 0
-                       self.mapping.append (u" 1") # 1
-                       self.mapping.append (u"abc��2ABC��") # 2
-                       self.mapping.append (u"de��f3DEF��") # 3
-                       self.mapping.append (u"ghi��4GHI��") # 4
+                       self.mapping.append (u"0,?!&@=*'+\"()$~") # 0
+                       self.mapping.append (u" 1.:/-_") # 1
+                       self.mapping.append (u"abcáà2ABCÁÀ") # 2
+                       self.mapping.append (u"deéèf3DEFÉÈ") # 3
+                       self.mapping.append (u"ghiíì4GHIÍÌ") # 4
                        self.mapping.append (u"jkl5JKL") # 5
-                       self.mapping.append (u"mn�o��6MN�O��") # 6
+                       self.mapping.append (u"mnñoóò6MNÑOÓÒ") # 6
                        self.mapping.append (u"pqrs7PQRS") # 7
-                       self.mapping.append (u"tuv��8TUV��") # 8
+                       self.mapping.append (u"tuvúù8TUVÚÙ") # 8
                        self.mapping.append (u"wxyz9WXYZ") # 9
-               if self.lang in ['sv_SE', 'fi_FI']:
-                       self.mapping.append (u".,?'\"0-()@/:_$") # 0
-                       self.mapping.append (u" 1") # 1
-                       self.mapping.append (u"abc��2ABC��") # 2
-                       self.mapping.append (u"def�3DEF�") # 3
+               if self.lang in ('sv_SE', 'fi_FI'):
+                       self.mapping.append (u"0,?!&@=*'+\"()$~") # 0
+                       self.mapping.append (u" 1.:/-_") # 1
+                       self.mapping.append (u"abcåä2ABCÅÄ") # 2
+                       self.mapping.append (u"defé3DEFÉ") # 3
                        self.mapping.append (u"ghi4GHI") # 4
                        self.mapping.append (u"jkl5JKL") # 5
-                       self.mapping.append (u"mno�6MNO�") # 6
+                       self.mapping.append (u"mnoö6MNOÖ") # 6
                        self.mapping.append (u"pqrs7PQRS") # 7
                        self.mapping.append (u"tuv8TUV") # 8
                        self.mapping.append (u"wxyz9WXYZ") # 9
+               elif self.lang in ('cs_CZ', 'sk_SK'):
+                       self.mapping.append (u"0,?'+\"()@$!=&*") # 0
+                       self.mapping.append (u" 1.:/-_") # 1
+                       self.mapping.append (u"abc2áäčABCÁÄČ") # 2
+                       self.mapping.append (u"def3ďéěDEFĎÉĚ") # 3
+                       self.mapping.append (u"ghi4íGHIÍ") # 4
+                       self.mapping.append (u"jkl5ľĺJKLĽĹ") # 5
+                       self.mapping.append (u"mno6ňóöôMNOŇÓÖÔ") # 6
+                       self.mapping.append (u"pqrs7řŕšPQRSŘŔŠ") # 7
+                       self.mapping.append (u"tuv8ťúůüTUVŤÚŮÜ") # 8
+                       self.mapping.append (u"wxyz9ýžWXYZÝŽ") # 9
                else:
-                       self.mapping.append (u".,?'\"0-()@/:_$") # 0
-                       self.mapping.append (u" 1") # 1
+                       self.mapping.append (u"0,?!&@=*'+\"()$~") # 0
+                       self.mapping.append (u" 1.:/-_") # 1
                        self.mapping.append (u"abc2ABC") # 2
                        self.mapping.append (u"def3DEF") # 3
                        self.mapping.append (u"ghi4GHI") # 4
@@ -54,16 +86,9 @@ class NumericalTextInput:
                        self.mapping.append (u"tuv8TUV") # 8
                        self.mapping.append (u"wxyz9WXYZ") # 9
 
-               if handleTimeout:
-                       self.timer = eTimer()
-                       self.timer.callback.append(self.timeout)
-               else:
-                       self.timer = None
-               self.lastKey = -1
-               self.pos = -1
-
        def setUseableChars(self, useable):
-               self.useableChars = useable
+               self.useableChars = unicode(useable)
+               
 
        def getKey(self, num):
                cnt=0