# Generic
from Tools.BoundFunction import boundFunction
from Tools.Directories import *
-from Components.config import config, configfile, ConfigSubList, ConfigSubsection, \
- ConfigText, ConfigNumber, ConfigBoolean
+from Components.config import config
import os
# Quickselect
"up": self.up,
"down": self.down,
"ok": (self.ok, _("select")),
- "back": (self.cancel, _("cancel")),
+ "back": (self.cancel, _("Cancel")),
}, -2)
self["ColorActions"] = LocationBoxActionMap(self, "ColorActions",
else:
return self["booklist"].getCurrent()
- def selectConfirmed(self, res):
- if res:
+ def selectConfirmed(self, ret):
+ if ret:
ret = ''.join([self.getPreferredFolder(), self.filename])
- if self.realBookmarks and self.autoAdd and not ret in self.bookmarks:
- self.bookmarks.append(self.getPreferredFolder())
- self.bookmarks.sort()
+ if self.realBookmarks:
+ if self.autoAdd and not ret in self.bookmarks:
+ self.bookmarks.append(self.getPreferredFolder())
+ self.bookmarks.sort()
+
+ if self.bookmarks != self.realBookmarks.value:
+ self.realBookmarks.value = self.bookmarks
+ self.realBookmarks.save()
self.close(ret)
def select(self):
_("There might not be enough Space on the selected Partition.\nDo you really want to continue?"),
type = MessageBox.TYPE_YESNO
)
- # No minimum free Space means we can safely close
+ # No minimum free Space means we can safely close
else:
self.selectConfirmed(True)
- def close(self, ret):
- if ret and self.realBookmarks and self.bookmarks != self.realBookmarks.value:
- self.realBookmarks.value = self.bookmarks
- self.realBookmarks.save()
- Screen.close(self, ret)
-
def changeName(self):
if self.filename != "":
# TODO: Add Information that changing extension is bad? disallow?
menu = []
if self.currList == "filelist":
menu.append((_("switch to bookmarks"), self.switchToBookList))
- menu.append((_("add bookmark"), self.AddRemoveBookmark))
+ menu.append((_("add bookmark"), self.addRemoveBookmark))
if self.editDir:
menu.append((_("create directory"), self.createDir))
menu.append((_("remove directory"), self.removeDir))
else:
menu.append((_("switch to filelist"), self.switchToFileList))
- menu.append((_("remove bookmark"), self.AddRemoveBookmark))
+ menu.append((_("remove bookmark"), self.addRemoveBookmark))
self.session.openWithCallback(
self.menuCallback,
return str(type(self)) + "(" + self.text + ")"
class MovieLocationBox(LocationBox):
+ skinName = "LocationBox"
+
def __init__(self, session, text, dir, minFree = None):
- inhibitMounts = []
- if config.usage.setup_level.index < 2: # -expert
- inhibitMounts.append("/")
- LocationBox.__init__(self, session, text = text, currDir = dir, bookmarks = config.movielist.videodirs, autoAdd = True, editDir = True, inhibitMounts = inhibitMounts, minFree = minFree)
+ 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)
+