X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/e8f443313e47e0653d61d23c90352572194e5608..7ecb3afa3b41c0eaf3f8962f469173b65dc6580d:/lib/python/Plugins/Extensions/DVDPlayer/plugin.py
diff --git a/lib/python/Plugins/Extensions/DVDPlayer/plugin.py b/lib/python/Plugins/Extensions/DVDPlayer/plugin.py
old mode 100644
new mode 100755
index e77b8940..64b4ae50
--- a/lib/python/Plugins/Extensions/DVDPlayer/plugin.py
+++ b/lib/python/Plugins/Extensions/DVDPlayer/plugin.py
@@ -7,6 +7,7 @@ from Screens.HelpMenu import HelpableScreen
from Screens.InfoBarGenerics import InfoBarSeek, InfoBarPVRState, InfoBarCueSheetSupport, InfoBarShowHide, InfoBarNotifications
from Components.ActionMap import ActionMap, NumberActionMap, HelpableActionMap
from Components.Label import Label
+from Components.Sources.StaticText import StaticText
from Components.Pixmap import Pixmap
from Components.FileList import FileList
from Components.MenuList import MenuList
@@ -20,13 +21,13 @@ import servicedvd # load c++ part of dvd player plugin
lastpath = ""
class FileBrowser(Screen):
- skin = """
-
-
- """
+
def __init__(self, session, dvd_filelist = [ ]):
Screen.__init__(self, session)
+ # for the skin: first try FileBrowser_DVDPlayer, then FileBrowser, this allows individual skinning
+ self.skinName = ["FileBrowser_DVDPlayer", "FileBrowser" ]
+
self.dvd_filelist = dvd_filelist
if len(dvd_filelist):
self["filelist"] = MenuList(self.dvd_filelist)
@@ -42,11 +43,18 @@ class FileBrowser(Screen):
self.filelist = FileList(currDir, matchingPattern = "(?i)^.*\.(iso)", useServiceRef = True)
self["filelist"] = self.filelist
- self["FilelistActions"] = ActionMap(["OkCancelActions"],
+ self["FilelistActions"] = ActionMap(["SetupActions"],
{
+ "save": self.ok,
"ok": self.ok,
"cancel": self.exit
})
+ self["key_red"] = StaticText(_("Cancel"))
+ self["key_green"] = StaticText(_("OK"))
+ self.onLayoutFinish.append(self.layoutFinished)
+
+ def layoutFinished(self):
+ self.setTitle(_("DVD File Browser"))
def ok(self):
if len(self.dvd_filelist):
@@ -80,12 +88,12 @@ class FileBrowser(Screen):
self.close(None)
class DVDSummary(Screen):
- skin = """
-
+ skin = (
+ """
Name
-
+
Position
@@ -93,7 +101,20 @@ class DVDSummary(Screen):
Position
- """
+ """,
+ """
+
+ Name
+
+
+
+
+ Position
+
+
+ Position
+
+ """)
def __init__(self, session, parent):
Screen.__init__(self, session, parent)
@@ -166,7 +187,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 +370,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 +525,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 +598,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 )
@@ -722,6 +749,7 @@ def filescan(**kwargs):
paths_to_scan =
[
ScanPath(path = "video_ts", with_subdirs = False),
+ ScanPath(path = "VIDEO_TS", with_subdirs = False),
ScanPath(path = "", with_subdirs = False),
],
name = "DVD",