from enigma import eListboxPythonMultiContent, eListbox, gFont
from Tools.KeyBindings import queryKeyBinding, getKeyDescription
+import skin
#getKeyPositions
# [ ( actionmap, context, [(action, help), (action, help), ...] ), (actionmap, ... ), ... ]
class HelpMenuList(GUIComponent):
- def __init__(self, list, callback):
+ def __init__(self, helplist, callback):
GUIComponent.__init__(self)
self.onSelChanged = [ ]
self.l = eListboxPythonMultiContent()
self.extendedHelp = False
l = [ ]
- for (actionmap, context, actions) in list:
+ for (actionmap, context, actions) in helplist:
for (action, help) in actions:
- entry = [ ]
-
buttons = queryKeyBinding(context, action)
# do not display entries which are not accessible from keys
if name is not None:
break
+ if name is None:
+ continue
+
if flags & 8: # for long keypresses, prepend l_ into the key name.
name = (name[0], "long")
- entry.append( (actionmap, context, action, name ) )
-
- if type(help).__name__== 'list':
+ entry = [ (actionmap, context, action, name ) ]
+
+ if isinstance(help, list):
self.extendedHelp = True
print "extendedHelpEntry found"
- entry.append( (eListboxPythonMultiContent.TYPE_TEXT, 0, 0, 400, 26, 0, 0, help[0]) )
- entry.append( (eListboxPythonMultiContent.TYPE_TEXT, 0, 28, 400, 20, 1, 0, help[1]) )
+ x, y, w, h = skin.parameters.get("HelpMenuListExtHlp0",(0, 0, 400, 26))
+ x1, y1, w1, h1 = skin.parameters.get("HelpMenuListExtHlp1",(0, 28, 400, 20))
+ entry.extend((
+ (eListboxPythonMultiContent.TYPE_TEXT, x, y, w, h, 0, 0, help[0]),
+ (eListboxPythonMultiContent.TYPE_TEXT, x1, y1, w1, h1, 1, 0, help[1])
+ ))
else:
- entry.append( (eListboxPythonMultiContent.TYPE_TEXT, 0, 0, 400, 28, 0, 0, help) )
+ x, y, w, h = skin.parameters.get("HelpMenuListHlp",(0, 0, 400, 28))
+ entry.append( (eListboxPythonMultiContent.TYPE_TEXT, x, y, w, h, 0, 0, help) )
l.append(entry)
self.l.setList(l)
if self.extendedHelp is True:
- self.l.setFont(0, gFont("Regular", 24))
- self.l.setFont(1, gFont("Regular", 18))
- self.l.setItemHeight(50)
+
+ font = skin.fonts.get("HelpMenuListExt0", ("Regular", 24, 50))
+ self.l.setFont(0, gFont(font[0], font[1]))
+ self.l.setItemHeight(font[2])
+ font = skin.fonts.get("HelpMenuListExt1", ("Regular", 18))
+ self.l.setFont(1, gFont(font[0], font[1]))
else:
- self.l.setFont(0, gFont("Regular", 24))
- self.l.setItemHeight(38)
+ font = skin.fonts.get("HelpMenuList", ("Regular", 24, 38))
+ self.l.setFont(0, gFont(font[0], font[1]))
+ self.l.setItemHeight(font[2])
def ok(self):
# a list entry has a "private" tuple as first entry...