allow two different behaviours when going into resume: SUSPEND_STOPS (default as...
[enigma2.git] / lib / python / Plugins / Extensions / DVDPlayer / plugin.py
index e77b894038e975e2a0e94da51975243fc9944796..ce5fa9d262cd8f5687fe1db67d8bae31f12387d6 100644 (file)
@@ -166,7 +166,7 @@ class ChapterZap(Screen):
                self.Timer.start(3000, True)
 
 class DVDPlayer(Screen, InfoBarBase, InfoBarNotifications, InfoBarSeek, InfoBarPVRState, InfoBarShowHide, HelpableScreen, InfoBarCueSheetSupport):
-#      ALLOW_SUSPEND = True
+       ALLOW_SUSPEND = Screen.SUSPEND_PAUSES
        ENABLE_RESUME_SUPPORT = True
        
        skin = """
@@ -349,6 +349,8 @@ class DVDPlayer(Screen, InfoBarBase, InfoBarNotifications, InfoBarSeek, InfoBarP
                from Plugins.SystemPlugins.Hotplug.plugin import hotplugNotifier
                hotplugNotifier.append(self.hotplugCB)
                
+               self.autoplay = dvd_device or dvd_filelist
+
                if dvd_device:
                        self.physicalDVD = True
                else:
@@ -502,8 +504,10 @@ class DVDPlayer(Screen, InfoBarBase, InfoBarNotifications, InfoBarSeek, InfoBarP
                choices = [(_("Exit"), "exit"), (_("Continue playing"), "play")]
                if True or not self.physicalDVD:
                        choices.insert(1,(_("Return to file browser"), "browser"))
-               if self.physicalDVD and not self.session.nav.getCurrentlyPlayingServiceReference().toString().endswith(harddiskmanager.getAutofsMountpoint(harddiskmanager.getCD())):
-                       choices.insert(0,(_("Play DVD"), "playPhysical" ))
+               if self.physicalDVD:
+                       cur = self.session.nav.getCurrentlyPlayingServiceReference()
+                       if cur and not cur.toString().endswith(harddiskmanager.getAutofsMountpoint(harddiskmanager.getCD())):
+                           choices.insert(0,(_("Play DVD"), "playPhysical" ))
                self.session.openWithCallback(self.exitCB, ChoiceBox, title=_("Leave DVD Player?"), list = choices)
 
        def sendKey(self, key):
@@ -573,9 +577,11 @@ class DVDPlayer(Screen, InfoBarBase, InfoBarNotifications, InfoBarSeek, InfoBarP
                self.askLeavePlayer()
 
        def opened(self):
-               if len(self.dvd_filelist) == 1:
+               if self.autoplay and self.dvd_filelist:
                        # opened via autoplay
                        self.FileBrowserClosed(self.dvd_filelist[0])
+               elif self.autoplay and self.physicalDVD:
+                       self.playPhysicalCB(True)
                elif self.physicalDVD:
                        # opened from menu with dvd in drive
                        self.session.openWithCallback(self.playPhysicalCB, MessageBox, text=_("Do you want to play DVD in drive?"), timeout=5 )