Revert "really only show accessible devices"
[enigma2.git] / lib / python / Screens / LocationBox.py
index 7cd6cbf9d6a7d0e68873bddd5383a3873491ce3d..389d3624716402d3b84fd3dc05e06d3e8ccfecff 100644 (file)
@@ -326,7 +326,7 @@ class LocationBox(Screen, NumericalTextInput, HelpableScreen):
 
        def selectConfirmed(self, ret):
                if ret:
-                       ret = ''.join([self.getPreferredFolder(), self.filename])
+                       ret = ''.join((self.getPreferredFolder(), self.filename))
                        if self.realBookmarks:
                                if self.autoAdd and not ret in self.bookmarks:
                                        self.bookmarks.append(self.getPreferredFolder())
@@ -390,23 +390,28 @@ class LocationBox(Screen, NumericalTextInput, HelpableScreen):
                # Write Combination of Folder & Filename when Folder is valid
                currFolder = self.getPreferredFolder()
                if currFolder is not None:
-                       self["target"].setText(''.join([currFolder, self.filename]))
+                       self["target"].setText(''.join((currFolder, self.filename)))
                # Display a Warning otherwise
                else:
                        self["target"].setText(_("Invalid Location"))
 
        def showMenu(self):
                if not self.userMode and self.realBookmarks:
-                       menu = []
                        if self.currList == "filelist":
-                               menu.append((_("switch to bookmarks"), self.switchToBookList))
-                               menu.append((_("add bookmark"), self.addRemoveBookmark))
+                               menu = [
+                                       (_("switch to bookmarks"), self.switchToBookList),
+                                       (_("add bookmark"), self.addRemoveBookmark)
+                               ]
                                if self.editDir:
-                                       menu.append((_("create directory"), self.createDir))
-                                       menu.append((_("remove directory"), self.removeDir))
+                                       menu.extend((
+                                               (_("create directory"), self.createDir),
+                                               (_("remove directory"), self.removeDir)
+                                       ))
                        else:
-                               menu.append((_("switch to filelist"), self.switchToFileList))
-                               menu.append((_("remove bookmark"), self.addRemoveBookmark))
+                               menu = (
+                                       (_("switch to filelist"), self.switchToFileList)
+                                       (_("remove bookmark"), self.addRemoveBookmark)
+                               )
 
                        self.session.openWithCallback(
                                self.menuCallback,
@@ -503,3 +508,32 @@ class MovieLocationBox(LocationBox):
        def __init__(self, session, text, dir, minFree = None):
                inhibitDirs = ["/bin", "/boot", "/dev", "/etc", "/lib", "/proc", "/sbin", "/sys", "/usr", "/var"]
                LocationBox.__init__(self, session, text = text, currDir = dir, bookmarks = config.movielist.videodirs, autoAdd = True, editDir = True, inhibitDirs = inhibitDirs, minFree = minFree)
+
+class TimeshiftLocationBox(LocationBox):
+
+       skinName = "LocationBox" # XXX: though we could use a custom skin or inherit the hardcoded one we stick with the original :-)
+
+       def __init__(self, session):
+               inhibitDirs = ["/bin", "/boot", "/dev", "/etc", "/lib", "/proc", "/sbin", "/sys", "/usr", "/var"]
+               LocationBox.__init__(
+                               self,
+                               session,
+                               text = _("Where to save temporary timeshift recordings?"),
+                               currDir = config.usage.timeshift_path.value,
+                               bookmarks = config.usage.allowed_timeshift_paths,
+                               autoAdd = True,
+                               editDir = True,
+                               inhibitDirs = inhibitDirs,
+                               minFree = 1024 # XXX: the same requirement is hardcoded in servicedvb.cpp
+               )
+
+       def cancel(self):
+               config.usage.timeshift_path.cancel()
+               LocationBox.cancel(self)
+
+       def selectConfirmed(self, ret):
+               if ret:
+                       config.usage.timeshift_path.value = self.getPreferredFolder()
+                       config.usage.timeshift_path.save()
+                       LocationBox.selectConfirmed(self, ret)
+