some dvd player changes (resume isnt working yet)
[enigma2.git] / lib / python / Plugins / Extensions / DVDPlayer / plugin.py
index 3ecd9f8a6dea5c545cf9729b6a8a16ecc53e17aa..a44d042bf9b973a12d53d6d388503575ee41424b 100644 (file)
@@ -10,7 +10,7 @@ from Screens.InfoBarGenerics import InfoBarSeek, InfoBarPVRState, InfoBarCueShee
 from Components.ActionMap import ActionMap, NumberActionMap, HelpableActionMap
 from Components.Label import Label
 from Components.FileList import FileList
 from Components.ActionMap import ActionMap, NumberActionMap, HelpableActionMap
 from Components.Label import Label
 from Components.FileList import FileList
-from Components.ServiceEventTracker import ServiceEventTracker
+from Components.ServiceEventTracker import ServiceEventTracker, InfoBarBase
 from Components.config import config
 from Components.ProgressBar import ProgressBar
 from ServiceReference import ServiceReference
 from Components.config import config
 from Components.ProgressBar import ProgressBar
 from ServiceReference import ServiceReference
@@ -147,7 +147,7 @@ class ChapterZap(Screen):
                self.Timer.callback.append(self.keyOK)
                self.Timer.start(3000, True)
 
                self.Timer.callback.append(self.keyOK)
                self.Timer.start(3000, True)
 
-class DVDPlayer(Screen, InfoBarNotifications, InfoBarSeek, InfoBarCueSheetSupport, InfoBarPVRState, InfoBarShowHide, HelpableScreen):
+class DVDPlayer(Screen, InfoBarBase, InfoBarNotifications, InfoBarSeek, InfoBarCueSheetSupport, InfoBarPVRState, InfoBarShowHide, HelpableScreen):
        ALLOW_SUSPEND = True
        ENABLE_RESUME_SUPPORT = True
        
        ALLOW_SUSPEND = True
        ENABLE_RESUME_SUPPORT = True
        
@@ -220,6 +220,7 @@ class DVDPlayer(Screen, InfoBarNotifications, InfoBarSeek, InfoBarCueSheetSuppor
 
        def __init__(self, session, args = None):
                Screen.__init__(self, session)
 
        def __init__(self, session, args = None):
                Screen.__init__(self, session)
+               InfoBarBase.__init__(self)
                InfoBarNotifications.__init__(self)
                InfoBarCueSheetSupport.__init__(self, actionmap = "MediaPlayerCueSheetActions")
                InfoBarShowHide.__init__(self)
                InfoBarNotifications.__init__(self)
                InfoBarCueSheetSupport.__init__(self, actionmap = "MediaPlayerCueSheetActions")
                InfoBarShowHide.__init__(self)
@@ -338,10 +339,12 @@ class DVDPlayer(Screen, InfoBarNotifications, InfoBarSeek, InfoBarCueSheetSuppor
        def __menuOpened(self):
                self.hide()
                self.in_menu = True
        def __menuOpened(self):
                self.hide()
                self.in_menu = True
+               self["NumberActions"].setEnabled(False)
 
        def __menuClosed(self):
                self.show()
                self.in_menu = False
 
        def __menuClosed(self):
                self.show()
                self.in_menu = False
+               self["NumberActions"].setEnabled(True)
 
        def setChapterLabel(self):
                chapterLCD = "Menu"
 
        def setChapterLabel(self):
                chapterLCD = "Menu"
@@ -528,6 +531,12 @@ class DVDPlayer(Screen, InfoBarNotifications, InfoBarSeek, InfoBarCueSheetSuppor
                self.restore_infobar_seek_config()
                self.session.nav.playService(self.oldService)
 
                self.restore_infobar_seek_config()
                self.session.nav.playService(self.oldService)
 
+       def playLastCB(self, answer): # overwrite infobar cuesheet function
+               print "playLastCB", answer, self.resume_point
+#              if answer == True:
+#                      self.doSeek(self.resume_point)
+               self.hideAfterResume()
+
        def showAfterCuesheetOperation(self):
                if not self.in_menu:
                        self.show()
        def showAfterCuesheetOperation(self):
                if not self.in_menu:
                        self.show()
@@ -536,6 +545,13 @@ class DVDPlayer(Screen, InfoBarNotifications, InfoBarSeek, InfoBarCueSheetSuppor
                print "DVDCreateSummary"
                return DVDSummary
 
                print "DVDCreateSummary"
                return DVDSummary
 
+#override some InfoBarSeek functions
+       def doEof(self):
+               self.setSeekState(self.SEEK_STATE_PLAY)
+
+       def calcRemainingTime(self):
+               return 0
+
 def main(session, **kwargs):
        session.open(DVDPlayer)
 
 def main(session, **kwargs):
        session.open(DVDPlayer)