add support for rolloff and pilot changing (needed for some 8PSK transponders)
[enigma2.git] / lib / python / Screens / MovieSelection.py
index ad9a2aff409095a4647f167ab1f0d4c5145c5ffb..a2ccb79a4b10b9c0a04e9a433a4a94a0b7f1b98b 100644 (file)
@@ -7,13 +7,14 @@ from Components.DiskInfo import DiskInfo
 from Components.Pixmap import Pixmap
 from Components.Label import Label
 from Components.PluginComponent import plugins
 from Components.Pixmap import Pixmap
 from Components.Label import Label
 from Components.PluginComponent import plugins
-from Components.config import config, ConfigSubsection, ConfigInteger, configfile
+from Components.config import config, ConfigSubsection, ConfigText, ConfigInteger, configfile
 from Components.Sources.ServiceEvent import ServiceEvent
 
 from Plugins.Plugin import PluginDescriptor
 
 from Screens.MessageBox import MessageBox
 from Screens.ChoiceBox import ChoiceBox
 from Components.Sources.ServiceEvent import ServiceEvent
 
 from Plugins.Plugin import PluginDescriptor
 
 from Screens.MessageBox import MessageBox
 from Screens.ChoiceBox import ChoiceBox
+from Screens.LocationBox import LocationBox
 from Screens.HelpMenu import HelpableScreen
 
 from Tools.Directories import *
 from Screens.HelpMenu import HelpableScreen
 
 from Tools.Directories import *
@@ -23,8 +24,10 @@ from enigma import eServiceReference, eServiceCenter, eTimer, eSize
 
 config.movielist = ConfigSubsection()
 config.movielist.moviesort = ConfigInteger(default=MovieList.SORT_RECORDED)
 
 config.movielist = ConfigSubsection()
 config.movielist.moviesort = ConfigInteger(default=MovieList.SORT_RECORDED)
-config.movielist.listtype = ConfigInteger(default=MovieList.LISTTYPE_COMPACT_DESCRIPTION)
+config.movielist.listtype = ConfigInteger(default=MovieList.LISTTYPE_ORIGINAL)
 config.movielist.description = ConfigInteger(default=MovieList.HIDE_DESCRIPTION)
 config.movielist.description = ConfigInteger(default=MovieList.HIDE_DESCRIPTION)
+# FIXME: see if this is always accessible by InfoBarGenerics
+config.movielist.last_videodir = ConfigText(default=resolveFilename(SCOPE_HDD))
 
 class MovieContextMenu(Screen):
        def __init__(self, session, csel, service):
 
 class MovieContextMenu(Screen):
        def __init__(self, session, csel, service):
@@ -129,7 +132,7 @@ class SelectionEventInfo:
                self["Service"] = ServiceEvent()
                self.list.connectSelChanged(self.__selectionChanged)
                self.timer = eTimer()
                self["Service"] = ServiceEvent()
                self.list.connectSelChanged(self.__selectionChanged)
                self.timer = eTimer()
-               self.timer.timeout.get().append(self.updateEventInfo)
+               self.timer.callback.append(self.updateEventInfo)
                self.onShown.append(self.__selectionChanged)
 
        def __selectionChanged(self):
                self.onShown.append(self.__selectionChanged)
 
        def __selectionChanged(self):
@@ -150,13 +153,13 @@ class MovieSelection(Screen, HelpableScreen, SelectionEventInfo):
                self.tags = [ ]
                self.selected_tags = None
 
                self.tags = [ ]
                self.selected_tags = None
 
-               self.current_ref = eServiceReference("2:0:1:0:0:0:0:0:0:0:" + resolveFilename(SCOPE_HDD))
+               self.current_ref = eServiceReference("2:0:1:0:0:0:0:0:0:0:" + config.movielist.last_videodir.value)
 
                self.movemode = False
                self.bouquet_mark_edit = False
 
                self.delayTimer = eTimer()
 
                self.movemode = False
                self.bouquet_mark_edit = False
 
                self.delayTimer = eTimer()
-               self.delayTimer.timeout.get().append(self.updateHDDData)
+               self.delayTimer.callback.append(self.updateHDDData)
 
                self["waitingtext"] = Label(_("Please wait... Loading list..."))
 
 
                self["waitingtext"] = Label(_("Please wait... Loading list..."))
 
@@ -183,6 +186,13 @@ class MovieSelection(Screen, HelpableScreen, SelectionEventInfo):
                #self["freeDiskSpace"] = DiskInfo(resolveFilename(SCOPE_HDD), DiskInfo.FREE, update=False)
                self["freeDiskSpace"] = self.diskinfo = DiskInfo(resolveFilename(SCOPE_HDD), DiskInfo.FREE, update=False)
 
                #self["freeDiskSpace"] = DiskInfo(resolveFilename(SCOPE_HDD), DiskInfo.FREE, update=False)
                self["freeDiskSpace"] = self.diskinfo = DiskInfo(resolveFilename(SCOPE_HDD), DiskInfo.FREE, update=False)
 
+               if config.usage.setup_level.index >= 2: # expert+
+                       self["InfobarActions"] = HelpableActionMap(self, "InfobarActions", 
+                               {
+                                       "showMovies": (self.doPathSelect, _("select the movie path")),
+                               })
+
+
                self["MovieSelectionActions"] = HelpableActionMap(self, "MovieSelectionActions",
                        {
                                "contextMenu": (self.doContext, _("menu")),
                self["MovieSelectionActions"] = HelpableActionMap(self, "MovieSelectionActions",
                        {
                                "contextMenu": (self.doContext, _("menu")),
@@ -316,8 +326,25 @@ class MovieSelection(Screen, HelpableScreen, SelectionEventInfo):
                title = _("Recorded files...")
                if self.selected_tags is not None:
                        title += " - " + ','.join(self.selected_tags)
                title = _("Recorded files...")
                if self.selected_tags is not None:
                        title += " - " + ','.join(self.selected_tags)
+               if config.usage.setup_level.index >= 2: # expert+
+                       title += "  " + config.movielist.last_videodir.value
                self.setTitle(title)
 
                self.setTitle(title)
 
+       def doPathSelect(self):
+               self.session.openWithCallback(
+                       self.gotFilename,
+                       LocationBox,
+                       _("Please select the movie path..."),
+                       currDir = config.movielist.last_videodir.value
+               )
+
+       def gotFilename(self, res):
+               if res is not None and res is not config.movielist.last_videodir.value:
+                       config.movielist.last_videodir.value = res
+                       self.current_ref = eServiceReference("2:0:1:0:0:0:0:0:0:0:" + res)
+                       self.reloadList()
+                       self.updateTags()
+
        def showAll(self):
                self.selected_tags = None
                self.reloadList()
        def showAll(self):
                self.selected_tags = None
                self.reloadList()