network setup stuff
[enigma2.git] / lib / python / Screens / InfoBar.py
index da2509e20d885943976789618432dc6b6195ac11..0333a8b1a9848be4403b1a6c10304e0960bf678a 100644 (file)
@@ -7,6 +7,7 @@ from Components.Button import Button
 from Components.ServiceName import ServiceName
 from Components.EventInfo import EventInfo
 from Components.ServicePosition import ServicePosition
+from Components.config import configfile
 
 from Screens.MessageBox import MessageBox
 from Screens.MovieSelection import MovieSelection
@@ -30,6 +31,13 @@ class InfoBar(Screen):
                #instantiate forever
                self.servicelist = self.session.instantiateDialog(ChannelSelection)
                self.volumeBar = VolumeBar()            
+               
+               self.state = self.STATE_HIDDEN
+               
+               self.hideTimer = eTimer()
+               self.hideTimer.timeout.get().append(self.doTimerHide)
+               #self.hideTimer.start(1000)
+
 
                self["actions"] = ActionMap( [ "InfobarActions" ], 
                        {
@@ -49,7 +57,8 @@ class InfoBar(Screen):
                        })
 #              self["okbutton"] = Button("mainMenu", [self.mainMenu])
                
-               self["CurrentTime"] = ServicePosition(self.session.nav, ServicePosition.TYPE_REMAINING)
+               self["CurrentTime"] = Clock()
+               # ServicePosition(self.session.nav, ServicePosition.TYPE_REMAINING)
                # Clock()
 
                self["Volume"] = self.volumeBar
@@ -83,13 +92,23 @@ class InfoBar(Screen):
        def hide(self): 
                self.instance.hide()
 
+       def doTimerHide(self):
+               if self.state == self.STATE_SHOWN:
+                       self.instance.hide()
+                       self.state = self.STATE_HIDDEN
+
        def toggleShow(self):
-               if self.instance.isVisible():
-#                      self.instance.hide()
-                       self.startHide()
+               if self.state == self.STATE_SHOWN:
+                       self.instance.hide()
+                       #pls check animation support, sorry
+#                      self.startHide()
+                       self.state = self.STATE_HIDDEN
                else:
-#                      self.instance.show()
-                       self.startShow()
+                       self.instance.show()
+#                      self.startShow()
+                       self.state = self.STATE_SHOWN
+                       #TODO: make it customizable
+                       self.hideTimer.start(5000)
 
        def     zapUp(self):
                self.servicelist.moveUp()
@@ -108,16 +127,19 @@ class InfoBar(Screen):
                self.volumeBar.setValue(eDVBVolumecontrol.getInstance().getVolume())
                
        def startShow(self):
-               self.instance.m_animation.startMoveAnimation(ePoint(0, 500), ePoint(0, 380), 100)
+               self.instance.m_animation.startMoveAnimation(ePoint(0, 600), ePoint(0, 380), 100)
+               self.state = self.STATE_SHOWN
        
        def startHide(self):
-               self.instance.m_animation.startMoveAnimation(ePoint(0, 380), ePoint(0, 500), 100)
+               self.instance.m_animation.startMoveAnimation(ePoint(0, 380), ePoint(0, 600), 100)
+               self.state = self.STATE_HIDDEN
 
        def     volMute(self):
                eDVBVolumecontrol.getInstance().volumeToggleMute()
                self.volumeBar.setValue(eDVBVolumecontrol.getInstance().getVolume())
 
        def     quit(self):
+               configfile.save()
                quitMainloop()
                
        def instantRecord(self):