include Python.h before all other header files
[enigma2.git] / lib / python / Components / HelpMenuList.py
index 7dc51faeed6fc68fb2be8a6c3c00b5b91e2163f9..07bbdd2a9a1f2127f51be98ce4cbecc956e073ac 100644 (file)
@@ -1,4 +1,4 @@
-from GUIComponent import *
+from GUIComponent import GUIComponent
 
 from enigma import eListboxPythonMultiContent, eListbox, gFont
 
 
 from enigma import eListboxPythonMultiContent, eListbox, gFont
 
@@ -13,31 +13,39 @@ class HelpMenuList(GUIComponent):
                self.onSelChanged = [ ]
                self.l = eListboxPythonMultiContent()
                self.callback = callback
                self.onSelChanged = [ ]
                self.l = eListboxPythonMultiContent()
                self.callback = callback
-               
+
                l = [ ]
                for (actionmap, context, actions) in list:
                        for (action, help) in actions:
                                entry = [ ]
                l = [ ]
                for (actionmap, context, actions) in list:
                        for (action, help) in actions:
                                entry = [ ]
-                               
+
                                buttons = queryKeyBinding(context, action)
 
                                buttons = queryKeyBinding(context, action)
 
+                               # do not display entries which are not accessible from keys
+                               if not len(buttons):
+                                       continue
+
                                name = None
                                name = None
-                               
+                               flags = 0
+
                                for n in buttons:
                                for n in buttons:
-                                       name = getKeyDescription(n)
+                                       (name, flags) = (getKeyDescription(n[0]), n[1])
                                        if name is not None:
                                                break
 
                                        if name is not None:
                                                break
 
+                               if flags & 8: # for long keypresses, prepend l_ into the key name.
+                                       name = ("l_" + name[0], name[1], name[2])
+
                                entry.append( (actionmap, context, action, name ) )
                                entry.append( (eListboxPythonMultiContent.TYPE_TEXT, 0, 0, 400, 28, 0, 0, help) )
                                entry.append( (actionmap, context, action, name ) )
                                entry.append( (eListboxPythonMultiContent.TYPE_TEXT, 0, 0, 400, 28, 0, 0, help) )
-                               
+
                                l.append(entry)
                                l.append(entry)
-               
+
                self.l.setList(l)
                self.l.setList(l)
-               
-               self.l.setFont(0, gFont("Regular", 26))
-               self.l.setItemHeight(42)
-       
+
+               self.l.setFont(0, gFont("Regular", 24))
+               self.l.setItemHeight(38)
+
        def ok(self):
                # a list entry has a "private" tuple as first entry...
                l = self.getCurrent()
        def ok(self):
                # a list entry has a "private" tuple as first entry...
                l = self.getCurrent()
@@ -46,7 +54,7 @@ class HelpMenuList(GUIComponent):
                # ...containing (Actionmap, Context, Action, keydata).
                # we returns this tuple to the callback.
                self.callback(l[0], l[1], l[2])
                # ...containing (Actionmap, Context, Action, keydata).
                # we returns this tuple to the callback.
                self.callback(l[0], l[1], l[2])
-       
+
        def getCurrent(self):
                sel = self.l.getCurrentSelection()
                return sel and sel[0]
        def getCurrent(self):
                sel = self.l.getCurrentSelection()
                return sel and sel[0]