From af50298c0edc3e108433acc9106d9a022447d44e Mon Sep 17 00:00:00 2001 From: Stefan Pluecken Date: Sun, 30 Apr 2006 20:01:21 +0000 Subject: [PATCH] ChoiceBox is now usable with number keys --- data/key_0-fs8.png | Bin 0 -> 496 bytes data/key_1-fs8.png | Bin 0 -> 362 bytes data/key_2-fs8.png | Bin 0 -> 520 bytes data/key_3-fs8.png | Bin 0 -> 507 bytes data/key_4-fs8.png | Bin 0 -> 448 bytes data/key_5-fs8.png | Bin 0 -> 474 bytes data/key_6-fs8.png | Bin 0 -> 523 bytes data/key_7-fs8.png | Bin 0 -> 436 bytes data/key_8-fs8.png | Bin 0 -> 557 bytes data/key_9-fs8.png | Bin 0 -> 524 bytes data/skin_default.xml | 4 ++-- lib/python/Components/Makefile.am | 2 +- lib/python/Components/__init__.py | 2 +- lib/python/Screens/ChoiceBox.py | 25 ++++++++++++++++++++----- 14 files changed, 24 insertions(+), 9 deletions(-) create mode 100644 data/key_0-fs8.png create mode 100644 data/key_1-fs8.png create mode 100644 data/key_2-fs8.png create mode 100644 data/key_3-fs8.png create mode 100644 data/key_4-fs8.png create mode 100644 data/key_5-fs8.png create mode 100644 data/key_6-fs8.png create mode 100644 data/key_7-fs8.png create mode 100644 data/key_8-fs8.png create mode 100644 data/key_9-fs8.png diff --git a/data/key_0-fs8.png b/data/key_0-fs8.png new file mode 100644 index 0000000000000000000000000000000000000000..ea5485ecc6cd4ea561175ba2f49d5d6ac0c6b498 GIT binary patch literal 496 zcmeAS@N?(olHy`uVBq!ia0vp^GC(ZC!3-oX z_V@QIDJfZ6T3)?+wWFh>v$NB}!lI<4BqSu{(4j*G1qG6llAk_(x^m^p=g*&uii&h} zbgHYX+uGU=A3m(BtE-@((A(P^8X8(vRrUS*_d9p)eEITa-MV$Ze*OCQ@85+B7k>Qs z!NkNA78bT?)26_{Kxt`dW@eBtfUbUZ^U+KoOSmM+FPPz{3x9J7qt$~g7mt6oW2&Af zp5J<6@=~Dmc~2L|5RLP#lWqz%8SuDvb8~5Fy!*ZH{h~z2K3LR^9Lf3m={XV2Q&+V<|< z>*VBQVq)_9_isf-#bd{gadB~(nVGF$zg|~Y_riq>fByWbtgL+f`t|ke*CBSTRa#;S zWC@o9`2{oloL9Z&q6?$==MsK9E2jJh$D0G#j_d?VPw{kd4AD5>I_bJtvjUGpbM^Uc zWjh7_{TI(Qo%X=;!f!FX35*OLvv$TEjd;2+H0+~BkOc7K`o7s>*&CXzR%D2ha<}A5o{oKjs z=aN;bwRT62MSt~FGkNpLO>Ifq>c-7m_nn&mean9qX6?mt=1z;QTlWFo$KdJe=d#Wz Gp$PzpShQ{yl#D z`1kMMr%#_&R#rZ8gn`t*s7jm_EF`QE*I zH*VZ``t+%biwh$oV_aOEp`l@2U7fVF^z`Y|zkdCC{rdGUU%tr6$=$kj%huMGg@xtS zt5;{wp7r$feDvti>({R%BO_T^Su-*+OifL@s29Ud%`6_e!&bs`5zo-%(rT;cG)t|u7v60XL0ShVqHM#lb$Y)AsXjfCtVk6 zG7xZWzQiK3;rqSn_j@<|{I6d$#X%_j%I_(=(xWsc(t&Aq0q=w&{)WH zveD6F@|#4PRHnMjiQQ-XHa>Q-SAK@Twp9nc*^_$3C+}U(Wnf`x86na+U9js{rPf=X zW6BLP#XA;p#Cr;V6Miq_D0X~O_KRP~oS06(ORdnURWC4KUFul9H18@Zp2MzyHjcGr76BU%q@!eVG>ce0xiNW0f8I7->ZJl z`{dKV^G_B`^qwR5J>2YmjNVOd#h5P1ZgPvoKn*UOsY zayr+3|9qVLNnl`(a;mvs~Umd~Fxk5R$ z=@XZ5fmZ!9$v?t%FE~T)C2(Fe*j@(o6N9I#pUXO@geCwR Cy9D0= literal 0 HcmV?d00001 diff --git a/data/key_4-fs8.png b/data/key_4-fs8.png new file mode 100644 index 0000000000000000000000000000000000000000..9509f0e9896efb824a220c933bc67d9f3abf0e9e GIT binary patch literal 448 zcmeAS@N?(olHy`uVBq!ia0vp^GC(ZC!3-owUU_%s7?o3ht)5PP{6mI8(SC#Jbi?q?%<@`YymN(Lx~++L@@VLPy_C-q&QqxWQw2#>*&>ZsX zkD+x~0+-J(<9DBB3QK;-7z9}!4Z7X9Cd5{pXT3K0b*|H@$IeG8iz3bMkd+^|axw*NxxcKwu&$YC){{8!R^XAPTKYlPW zGP1F;UB7<)^5x4A*S<(RRR?4Vmjw9*GyL3g+=WrR`tySle!F?iR!sR94Hj(v0+c@F z>EaloalUoZbD<^!o(5(PC1;lJ_o|hhZ+)-V=Z~8GYVMD}S)aB}H_>G{UbZUBH!v&f z>c)r7Zmx@kqLwzEGkz()?D*8U^v=^$L|R-!u5-Wqbl3mciCL|A?`pb?PVfADgWX_- zO6Hx3T+#_Ai>6Ju8mXegam4D8DgS#HhOP-`lj{ZCtBY#YMP8~bb`P@2tUW0lnc(~8 zo8i5(&4C_mH+1h6AO1D-%*S~a3y-gxsxBrjp1&3{|YZ~GGZZ%_J9{~rgr4{C%Y Uv)z5P66hNSPgg&ebxsLQ05pH}cmMzZ literal 0 HcmV?d00001 diff --git a/data/key_6-fs8.png b/data/key_6-fs8.png new file mode 100644 index 0000000000000000000000000000000000000000..42f6f58035973121d427e38922673e389c6ed19d GIT binary patch literal 523 zcmeAS@N?(olHy`uVBq!ia0vp^GC(ZC!3-ommHKY#wLudo02@87$3@3OPAKY#vgY;5f3=clNs$i&37Y}qme z1%;V2XEHJ}-n@C!#l_{!nKP`ctbu`nCr_R zKiz;V;gTS~V1}Rk4~{eDTQyg^Y?)_Q!gTSoxb|GJE}-;zPZ!4!jq|OO(uJE0c-p!b zDJ*EJe!us7n26%v|Nl=2FI;(V<@@C-=a)vR9tl>E3T$o?2vNSsP#GK}sHq;ALMPq{bb_OKtTy61vccaeo*5p>n*`-x?jqGIAR2t(rSLL?~tF)by z4f}rjW=dVpi!*NOgb8-ip?`4ieEa+yToY`G5K{F z&*w)~>|$l7&sOd__?Amq`uP)c6CXL5)9JUK=UG)NlEF~uU}bNS*oh4>(;Hy&CTWHQy= ztV4^wfPW%idBGr2G6d^EVEwCv)f63+i_j-BLVvea8;ZjxG0I3GMxBIo1C2 epTENUUhryu^fKRZC}%6s{S2P2elF{r5}E)EWZilI literal 0 HcmV?d00001 diff --git a/data/key_8-fs8.png b/data/key_8-fs8.png new file mode 100644 index 0000000000000000000000000000000000000000..4e154b9535bb624333f8febd848664605d8938d9 GIT binary patch literal 557 zcmeAS@N?(olHy`uVBq!ia0vp^GC(ZC!3-ocXoE}>gtk|lw@OL%gD%>GiQ#XqN0$HPr;Ks+ejv4R!I5-thy3ugGqU!Bi*(Q4jjm*ZRP9x#2s+W&ivCe&dXrarc~SSFd|{J@)G1 z84Xe&TXw(X_w<}?{{I&38_XVInMdTm-hK%5ErX}4pUXO@geCy< Cycxd$ literal 0 HcmV?d00001 diff --git a/data/key_9-fs8.png b/data/key_9-fs8.png new file mode 100644 index 0000000000000000000000000000000000000000..46e3a310562dcc9e7417d7038fc89a4028eb03ee GIT binary patch literal 524 zcmeAS@N?(olHy`uVBq!ia0vp^GC(ZC!3-oyr`z8wqnH!d3kvW35gjqW+Wyiy1BWT znwl~*Ge3R$)X2!FyuAF?t5;!RVNz03>({UU_3IZC6VtwZ`#3l_?%us?Zf?%W$@%i- z%jwgnzkByCD=W*!#>U6T=kMRYdU|^Q{{4IO=+W=rziVo0`1tr_Wn~vFS_JXVHx7!hbbhYSQ-f|o>S z2Hd%OcWXe(`@iy>*|VleCe%OuHhcDFgS1nkd@Xk-J>g?Lr1va9<%QyGn}Zz*`y^^L zo*7TPetzx6q%z4l_wx6DXB9n{cVKD5>u0i>{%XZ#9*e_$ObgADXBwVeHJMe&rSip{ z3p26~3SUs1m2{GKs;h3ro+NwyQp1OCQ#=>_cX#%`TA_2(sB_ZOZTpVKrK~#lvR^X9 z#rN#N9*Z*ei)&|Gj+ieUy5*P3GZE=1-if!b9-pHrzkBQHJ8#dg{`}rSS%eVbZ V@|>)4+ZgCQ22WQ%mvv4FO#t5}34H(n literal 0 HcmV?d00001 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): -- 2.30.2