ChoiceBox : fix summarytext.
[vuplus_dvbapp] / lib / python / Screens / ChoiceBox.py
old mode 100644 (file)
new mode 100755 (executable)
index f33ab0e..c763280
@@ -7,9 +7,12 @@ from Components.Sources.StaticText import StaticText
 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 = []
@@ -119,14 +122,27 @@ class ChoiceBox(Screen):
                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