aboutsummaryrefslogtreecommitdiff
path: root/lib/python
diff options
context:
space:
mode:
authorStefan Pluecken <stefan.pluecken@multimedia-labs.de>2005-11-29 00:11:06 +0000
committerStefan Pluecken <stefan.pluecken@multimedia-labs.de>2005-11-29 00:11:06 +0000
commit1b7c72ab3e418455c7da93b16e07f690328e3362 (patch)
treef41374131492300d47f266fa8fec4ecf9fd8d607 /lib/python
parente4034b7fce157a23fcd2668a59ccc7a32d19ac84 (diff)
downloadenigma2-1b7c72ab3e418455c7da93b16e07f690328e3362.tar.gz
enigma2-1b7c72ab3e418455c7da93b16e07f690328e3362.zip
use NumericalTextInput to jump to entries in ChannelSelection (jumping needs to implemented before it will work :))
Diffstat (limited to 'lib/python')
-rw-r--r--lib/python/Screens/ChannelSelection.py36
-rw-r--r--lib/python/Tools/NumericalTextInput.py5
2 files changed, 35 insertions, 6 deletions
diff --git a/lib/python/Screens/ChannelSelection.py b/lib/python/Screens/ChannelSelection.py
index 0534a78d..d3bf1b40 100644
--- a/lib/python/Screens/ChannelSelection.py
+++ b/lib/python/Screens/ChannelSelection.py
@@ -1,11 +1,12 @@
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 Tools.NumericalTextInput import NumericalTextInput
import xml.dom.minidom
@@ -224,6 +225,8 @@ class ChannelSelectionBase(Screen):
#self["okbutton"] = Button("ok", [self.channelSelected])
+ self.numericalTextInput = NumericalTextInput()
+
self.lastService = None
self.lastServiceTimer = eTimer()
@@ -272,6 +275,11 @@ class ChannelSelectionBase(Screen):
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:
@@ -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)"""))
- class ChannelActionMap(ActionMap):
+ class ChannelActionMap(NumberActionMap):
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,
@@ -319,7 +327,17 @@ class ChannelSelection(ChannelSelectionBase, ChannelSelectionEdit):
"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
@@ -387,6 +405,16 @@ class SimpleChannelSelection(ChannelSelectionBase):
"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
diff --git a/lib/python/Tools/NumericalTextInput.py b/lib/python/Tools/NumericalTextInput.py
index 79c33010..74497895 100644
--- a/lib/python/Tools/NumericalTextInput.py
+++ b/lib/python/Tools/NumericalTextInput.py
@@ -13,7 +13,7 @@ class NumericalTextInput:
mapping.append ("tuv8TUV") # 8
mapping.append ("wxyz9WXYZ") # 9
- def __init__(self, nextFunction):
+ def __init__(self, nextFunction = None):
self.nextFunction = nextFunction
self.Timer = eTimer()
self.Timer.timeout.get().append(self.nextChar)
@@ -40,5 +40,6 @@ class NumericalTextInput:
self.Timer.stop()
print "Timer done"
self.nextKey()
- self.nextFunction()
+ if (self.nextFunction != None):
+ self.nextFunction()
\ No newline at end of file