fix DVB-S ScanSetup
[vuplus_dvbapp] / lib / python / Screens / LanguageSelection.py
old mode 100644 (file)
new mode 100755 (executable)
index 94ede08..c85bf42
@@ -1,6 +1,7 @@
 from Screen import Screen
 
-from Components.ActionMap import ActionMap
+#      ikseong
+from Components.ActionMap import ActionMap,NumberActionMap
 from Components.Language import language
 from Components.config import config
 from Components.Sources.List import List
@@ -13,16 +14,18 @@ def _cached(x):
 
 from Screens.Rc import Rc
 
-from Tools.Directories import resolveFilename, SCOPE_SKIN_IMAGE
+from Tools.Directories import resolveFilename, SCOPE_CURRENT_SKIN
 
 from Tools.LoadPixmap import LoadPixmap
 
 def LanguageEntryComponent(file, name, index):
-       png = LoadPixmap(resolveFilename(SCOPE_SKIN_IMAGE, "countries/" + file + ".png"))
+       png = LoadPixmap(resolveFilename(SCOPE_CURRENT_SKIN, "countries/" + file + ".png"))
        if png == None:
-               png = LoadPixmap(resolveFilename(SCOPE_SKIN_IMAGE, "countries/missing.png"))
+               png = LoadPixmap(resolveFilename(SCOPE_CURRENT_SKIN, "countries/missing.png"))
        res = (index, name, png)
        return res
+#      ikseong
+from Plugins.SystemPlugins.FactoryTest.plugin import FactoryTest
 
 class LanguageSelection(Screen):
        def __init__(self, session):
@@ -36,12 +39,32 @@ class LanguageSelection(Screen):
 
                self.updateList()
                self.onLayoutFinish.append(self.selectActiveLanguage)
-
-               self["actions"] = ActionMap(["OkCancelActions"], 
+#      ikseong
+               self["actions"] = NumberActionMap(["OkCancelActions","NumberActions"], 
                {
                        "ok": self.save,
                        "cancel": self.cancel,
+                       "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.testkey=0
+               
+#      ikseong
+       def keyNumberGlobal(self, number):
+               self.testkey = self.testkey * 10 + number
+               if self.testkey > 10000:
+                       self.testkey = self.testkey%10000
+               if self.testkey == 4599:
+                       self.session.open(FactoryTest)
+               print "testkey", self.testkey
 
        def selectActiveLanguage(self):
                activeLanguage = language.getActiveLanguage()
@@ -76,21 +99,22 @@ class LanguageSelection(Screen):
                print "ok"
 
        def updateList(self):
-               first_time = len(self.list) == 0
+               first_time = not self.list
 
-               self.list = []
-               if len(language.getLanguageList()) == 0: # no language available => display only english
-                       self.list.append(LanguageEntryComponent("en", _cached("en_EN"), "en_EN"))
+               languageList = language.getLanguageList()
+               if not languageList: # no language available => display only english
+                       list = [ LanguageEntryComponent("en", _cached("en_EN"), "en_EN") ]
                else:
-                       for x in language.getLanguageList():
-                               self.list.append(LanguageEntryComponent(file = x[1][2].lower(), name = _cached("%s_%s" % x[1][1:3]), index = x[0]))
-               #self.list.sort(key=lambda x: x[1][7])
+                       list = [ LanguageEntryComponent(file = x[1][2].lower(), name = _cached("%s_%s" % x[1][1:3]), index = x[0]) for x in languageList]
+               self.list = list
+
+               #list.sort(key=lambda x: x[1][7])
 
                print "updateList"
                if first_time:
-                       self["languages"].list = self.list
+                       self["languages"].list = list
                else:
-                       self["languages"].updateList(self.list)
+                       self["languages"].updateList(list)
                print "done"
 
        def changed(self):