fix initial menu entry on lcd
[enigma2.git] / lib / python / Screens / Menu.py
index e3e3a0a5c6e40441a80a344b8ae2feb33572f307..dd88cb5f1ee4355634cd73ee147c66b6bfe9ea52 100644 (file)
@@ -6,6 +6,7 @@ from Components.Button import Button
 from Components.Label import Label
 from Components.ProgressBar import ProgressBar
 from Components.config import configfile
+from Components.Clock import Clock
 
 from Tools.Directories import resolveFilename, SCOPE_SKIN
 
@@ -73,7 +74,27 @@ class MenuUpdater:
                return self.updatedMenuItems[id]
        
 menuupdater = MenuUpdater()
-               
+
+class MenuSummary(Screen):
+       skin = """
+       <screen position="0,0" size="132,64">
+               <widget name="MenuTitle" position="0,4" size="132,21" font="Regular;18" />
+               <widget name="MenuEntry" position="0,25" size="132,21" font="Regular;16" />
+               <widget name="Clock" position="50,46" size="82,18" font="Regular;16" />
+       </screen>"""
+
+       def __init__(self, session, parent):
+               Screen.__init__(self, session)
+               self["MenuTitle"] = Label(parent.menu_title)
+               self["MenuEntry"] = Label("")
+               self["Clock"] = Clock()
+               parent["menu"].onSelectionChanged.append(self.selectionChanged)
+               self.parent = parent
+               self.selectionChanged()
+
+       def selectionChanged(self):
+               self["MenuEntry"].setText(self.parent["menu"].getCurrent()[0])
+
 class Menu(Screen):
        def okbuttonClick(self):
                print "okbuttonClick"
@@ -82,7 +103,7 @@ class Menu(Screen):
 
        def execText(self, text):
                exec text
-               
+
        def runScreen(self, arg):
                # arg[0] is the module (as string)
                # arg[1] is Screen inside this module 
@@ -90,7 +111,6 @@ class Menu(Screen):
                #        string (as we want to reference 
                #        stuff which is just imported)
                # FIXME. somehow
-               print arg
                if arg[0] != "":
                        exec "from " + arg[0] + " import *"
                        
@@ -118,7 +138,7 @@ class Menu(Screen):
 
        def menuClosedWithConfigFlush(self, *res):
                configfile.save()
-               self.menuClosed(res)
+               self.menuClosed(*res)
 
        def menuClosed(self, *res):
                if len(res) and res[0]:
@@ -198,6 +218,7 @@ class Menu(Screen):
                if a == "":                                                                                                             #if empty use name
                        a = _(getValbyAttr(parent, "text"))
                self["title"] = Header(a)
+               self.menu_title = a
 
        def closeNonRecursive(self):
                self.close(False)
@@ -205,6 +226,9 @@ class Menu(Screen):
        def closeRecursive(self):
                self.close(True)
 
+       def createSummary(self):
+               return MenuSummary
+
 class MainMenu(Menu):
        #add file load functions for the xml-file