class ChoiceBox(Screen):
def __init__(self, session, title = "", list = [], keys = None, selection = 0, skin_name = []):
Screen.__init__(self, session)
-
- self.skinName = ["ChoiceBox"] + skin_name
+ if isinstance(skin_name, str):
+ skin_name = [skin_name]
+ self.skinName = skin_name + ["ChoiceBox"]
+ self.lcd_xres = None
+ self.lcd_xres=self.readlcdxres()
self["text"] = Label(title)
self.list = []
self.summarylist = []
pos += 1
self["list"] = ChoiceList(list = self.list, selection = selection)
self["summary_list"] = StaticText()
- self.updateSummary()
+ self.updateSummary(selection)
self["actions"] = NumberActionMap(["WizardActions", "InputActions", "ColorActions", "DirectionActions"],
{
pos = 0
summarytext = ""
for entry in self.summarylist:
- if pos > curpos-2 and pos < curpos+5:
+ if self.lcd_xres is not None and self.lcd_xres > 140:
+ if pos > curpos-2 and pos < curpos+5:
+ if pos == curpos:
+ summarytext += ">"
+ else:
+ summarytext += entry[0]
+ summarytext += ' ' + entry[1] + '\n'
+ else:
if pos == curpos:
- summarytext += ">"
- else:
- summarytext += entry[0]
- summarytext += ' ' + entry[1] + '\n'
+ summarytext += entry[0]+' '+ entry[1]
pos += 1
self["summary_list"].setText(summarytext)
def cancel(self):
self.close(None)
+
+ def readlcdxres(self):
+ try:
+ fd = open("/proc/stb/lcd/xres","r")
+ value = int(fd.read().strip(),16)
+ fd.close()
+ return value
+ except:
+ return None