From: Stefan Pluecken Date: Sun, 30 Apr 2006 20:01:21 +0000 (+0000) Subject: ChoiceBox is now usable with number keys X-Git-Tag: 2.6.0~3532 X-Git-Url: https://git.cweiske.de/enigma2.git/commitdiff_plain/af50298c0edc3e108433acc9106d9a022447d44e ChoiceBox is now usable with number keys --- diff --git a/data/key_0-fs8.png b/data/key_0-fs8.png new file mode 100644 index 00000000..ea5485ec Binary files /dev/null and b/data/key_0-fs8.png differ diff --git a/data/key_1-fs8.png b/data/key_1-fs8.png new file mode 100644 index 00000000..dbce1fa6 Binary files /dev/null and b/data/key_1-fs8.png differ diff --git a/data/key_2-fs8.png b/data/key_2-fs8.png new file mode 100644 index 00000000..1a7bf906 Binary files /dev/null and b/data/key_2-fs8.png differ diff --git a/data/key_3-fs8.png b/data/key_3-fs8.png new file mode 100644 index 00000000..5c280d33 Binary files /dev/null and b/data/key_3-fs8.png differ diff --git a/data/key_4-fs8.png b/data/key_4-fs8.png new file mode 100644 index 00000000..9509f0e9 Binary files /dev/null and b/data/key_4-fs8.png differ diff --git a/data/key_5-fs8.png b/data/key_5-fs8.png new file mode 100644 index 00000000..18e29904 Binary files /dev/null and b/data/key_5-fs8.png differ diff --git a/data/key_6-fs8.png b/data/key_6-fs8.png new file mode 100644 index 00000000..42f6f580 Binary files /dev/null and b/data/key_6-fs8.png differ diff --git a/data/key_7-fs8.png b/data/key_7-fs8.png new file mode 100644 index 00000000..a98d7115 Binary files /dev/null and b/data/key_7-fs8.png differ diff --git a/data/key_8-fs8.png b/data/key_8-fs8.png new file mode 100644 index 00000000..4e154b95 Binary files /dev/null and b/data/key_8-fs8.png differ diff --git a/data/key_9-fs8.png b/data/key_9-fs8.png new file mode 100644 index 00000000..46e3a310 Binary files /dev/null and b/data/key_9-fs8.png differ diff --git a/data/skin_default.xml b/data/skin_default.xml index 3c8fc492..31f7fb90 100644 --- a/data/skin_default.xml +++ b/data/skin_default.xml @@ -296,8 +296,8 @@ if count > 6: offset = 30 * count wsizex = textsize[0] + 60 wsizey = textsize[1] + offset -if (400 > wsizex): - wsizex = 400 +if (450 > wsizex): + wsizex = 450 wsize = (wsizex, wsizey) diff --git a/lib/python/Components/Makefile.am b/lib/python/Components/Makefile.am index efb81c37..80393aef 100644 --- a/lib/python/Components/Makefile.am +++ b/lib/python/Components/Makefile.am @@ -13,4 +13,4 @@ install_PYTHON = \ BlinkingPixmap.py Pixmap.py ConditionalWidget.py Slider.py LanguageList.py \ PluginList.py PluginComponent.py RecordingConfig.py About.py UsageConfig.py \ FIFOList.py ServiceEventTracker.py Input.py TimerSanityCheck.py FileList.py \ - MultiContent.py MediaPlayer.py TunerInfo.py VideoWindow.py + MultiContent.py MediaPlayer.py TunerInfo.py VideoWindow.py ChoiceList.py diff --git a/lib/python/Components/__init__.py b/lib/python/Components/__init__.py index b6ad939c..5dd11a82 100644 --- a/lib/python/Components/__init__.py +++ b/lib/python/Components/__init__.py @@ -7,4 +7,4 @@ __all__ = ["ActionMap", "Button", "Clock", "ConfigList", "EventInfo", "InputDevice", "ServicePosition", "IPAddress", "VariableIP", "IPGateway", "IPNameserver", "Network", "RFmon", "DiskInfo", "NimManager", "TimerEntry", "Lcd", "EpgList" "ScrollLabel", "Timezones", "HelpMenuList", "TimerSanityCheck", - "FileList", "MultiContent", "TunerInfo" ] + "FileList", "MultiContent", "TunerInfo", "ChoiceList" ] diff --git a/lib/python/Screens/ChoiceBox.py b/lib/python/Screens/ChoiceBox.py index 7192a229..0be9385e 100644 --- a/lib/python/Screens/ChoiceBox.py +++ b/lib/python/Screens/ChoiceBox.py @@ -5,16 +5,30 @@ from Components.ActionMap import NumberActionMap from Components.Label import Label from Components.MenuList import MenuList from Components.GUIComponent import * +from Components.ChoiceList import ChoiceEntryComponent, ChoiceList import os class ChoiceBox(Screen): - def __init__(self, session, title = "", list = []): + def __init__(self, session, title = "", list = [], keys = None): Screen.__init__(self, session) self["text"] = Label(title) - self.list = list - self["list"] = MenuList(list) + self.list = [] + if keys is None: + self.keys = [ "1", "2", "3", "4", "5", "6", "7", "8", "9", "0" ] + (len(list) - 10) * [""] + else: + self.keys = keys + + self.keymap = {} + pos = 0 + for x in list: + strpos = str(self.keys[pos]) + self.list.append(ChoiceEntryComponent(strpos, x)) + if self.keys[pos] != "": + self.keymap[self.keys[pos]] = list[pos] + pos += 1 + self["list"] = ChoiceList(self.list) self["actions"] = NumberActionMap(["WizardActions", "InputActions"], { @@ -40,10 +54,11 @@ class ChoiceBox(Screen): def keyNumberGlobal(self, number): print "pressed", number - #self["input"].number(number) + if self.keymap.has_key(str(number)): + self.close(self.keymap[str(number)]) def go(self): - self.close(self["list"].l.getCurrentSelection()) + self.close(self["list"].l.getCurrentSelection()[0]) #self.close(self["input"].getText()) def cancel(self):