use NumericalTextInput to jump to entries in ChannelSelection (jumping needs to imple...
[enigma2.git] / lib / python / Screens / ChannelSelection.py
index 0534a78d79e2ed0ed4a14abc1b09191df0ef3b8c..d3bf1b40ed92094ab2540fd1e75bc6a747968a8d 100644 (file)
@@ -1,11 +1,12 @@
 from Screen import Screen
 from Components.Button import Button
 from Components.ServiceList import ServiceList
 from Screen import Screen
 from Components.Button import Button
 from Components.ServiceList import ServiceList
-from Components.ActionMap import ActionMap
+from Components.ActionMap import NumberActionMap
 from EpgSelection import EPGSelection
 from enigma import eServiceReference, eEPGCache, eEPGCachePtr, eServiceCenter, eServiceCenterPtr, iMutableServiceListPtr, iStaticServiceInformationPtr, eTimer
 from Components.config import config, configElement, ConfigSubsection, configText
 from Screens.FixedMenu import FixedMenu
 from EpgSelection import EPGSelection
 from enigma import eServiceReference, eEPGCache, eEPGCachePtr, eServiceCenter, eServiceCenterPtr, iMutableServiceListPtr, iStaticServiceInformationPtr, eTimer
 from Components.config import config, configElement, ConfigSubsection, configText
 from Screens.FixedMenu import FixedMenu
+from Tools.NumericalTextInput import NumericalTextInput
 
 import xml.dom.minidom
 
 
 import xml.dom.minidom
 
@@ -224,6 +225,8 @@ class ChannelSelectionBase(Screen):
 
                #self["okbutton"] = Button("ok", [self.channelSelected])
                
 
                #self["okbutton"] = Button("ok", [self.channelSelected])
                
+               self.numericalTextInput = NumericalTextInput()
+               
                self.lastService = None
 
                self.lastServiceTimer = eTimer()
                self.lastService = None
 
                self.lastServiceTimer = eTimer()
@@ -272,6 +275,11 @@ class ChannelSelectionBase(Screen):
        def showFavourites(self):
                self.setRoot(self.bouquet_root)
 
        def showFavourites(self):
                self.setRoot(self.bouquet_root)
 
+       def keyNumberGlobal(self, number):
+               print "You pressed number " + str(number)
+               print "You would go to character " + str(self.numericalTextInput.getKey(number))
+               pass
+
        def enterBouquet(self, action):
                if action[:7] == "bouquet":
                        if action.find("FROM BOUQUET") != -1:
        def enterBouquet(self, action):
                if action[:7] == "bouquet":
                        if action.find("FROM BOUQUET") != -1:
@@ -306,12 +314,12 @@ class ChannelSelection(ChannelSelectionBase, ChannelSelectionEdit):
                if config.tv.lastroot.value == "":
                        self.servicelist.setRoot(eServiceReference("""1:0:1:0:0:0:0:0:0:0:(type == 1)"""))
 
                if config.tv.lastroot.value == "":
                        self.servicelist.setRoot(eServiceReference("""1:0:1:0:0:0:0:0:0:0:(type == 1)"""))
 
-               class ChannelActionMap(ActionMap):
+               class ChannelActionMap(NumberActionMap):
                        def action(self, contexts, action):
                                if not self.csel.enterBouquet(action):
                                        if action == "cancel":
                                                self.csel.handleEditCancel()
                        def action(self, contexts, action):
                                if not self.csel.enterBouquet(action):
                                        if action == "cancel":
                                                self.csel.handleEditCancel()
-                                       ActionMap.action(self, contexts, action)
+                                       NumberActionMap.action(self, contexts, action)
                self["actions"] = ChannelActionMap(["ChannelSelectActions", "OkCancelActions", "ContextMenuActions"],
                        {
                                "cancel": self.cancel,
                self["actions"] = ChannelActionMap(["ChannelSelectActions", "OkCancelActions", "ContextMenuActions"],
                        {
                                "cancel": self.cancel,
@@ -319,7 +327,17 @@ class ChannelSelection(ChannelSelectionBase, ChannelSelectionEdit):
                                "mark": self.doMark,
                                "contextMenu": self.doContext,
                                "showFavourites": self.showFavourites,
                                "mark": self.doMark,
                                "contextMenu": self.doContext,
                                "showFavourites": self.showFavourites,
-                               "showEPGList": self.showEPGList
+                               "showEPGList": self.showEPGList,
+                               "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
                        })
                self["actions"].csel = self
 
                        })
                self["actions"].csel = self
 
@@ -387,6 +405,16 @@ class SimpleChannelSelection(ChannelSelectionBase):
                                "cancel": self.cancel,
                                "ok": self.channelSelected,
                                "showFavourites": self.showFavourites,
                                "cancel": self.cancel,
                                "ok": self.channelSelected,
                                "showFavourites": self.showFavourites,
+                               "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
                        })
                self["actions"].csel = self
 
                        })
                self["actions"].csel = self