X-Git-Url: http://code.vuplus.com/gitweb/?p=vuplus_dvbapp;a=blobdiff_plain;f=lib%2Fpython%2FScreens%2FMovieSelection.py;h=77633c217bfa3728ac6ad3825ec3b6e94bf40e4d;hp=174a4f072050e6d5961d31ea785a856d9f7aa11d;hb=HEAD;hpb=e68a1617b7c1efbedf8b28309943dd7669daaad0 diff --git a/lib/python/Screens/MovieSelection.py b/lib/python/Screens/MovieSelection.py index 174a4f0..77633c2 100644 --- a/lib/python/Screens/MovieSelection.py +++ b/lib/python/Screens/MovieSelection.py @@ -7,8 +7,9 @@ from Components.DiskInfo import DiskInfo from Components.Pixmap import Pixmap from Components.Label import Label from Components.PluginComponent import plugins -from Components.config import config, ConfigSubsection, ConfigText, ConfigInteger, ConfigLocations +from Components.config import config, ConfigSubsection, ConfigText, ConfigInteger, ConfigLocations, ConfigSet from Components.Sources.ServiceEvent import ServiceEvent +from Components.UsageConfig import defaultMoviePath from Plugins.Plugin import PluginDescriptor @@ -31,6 +32,7 @@ config.movielist.last_timer_videodir = ConfigText(default=resolveFilename(SCOPE_ config.movielist.videodirs = ConfigLocations(default=[resolveFilename(SCOPE_HDD)]) config.movielist.first_tags = ConfigText(default="") config.movielist.second_tags = ConfigText(default="") +config.movielist.last_selected_tags = ConfigSet([], default=[]) def setPreferredTagEditor(te): @@ -168,7 +170,10 @@ class MovieSelection(Screen, HelpableScreen, SelectionEventInfo): HelpableScreen.__init__(self) self.tags = [ ] - self.selected_tags = None + if selectedmovie: + self.selected_tags = config.movielist.last_selected_tags.value + else: + self.selected_tags = None self.selected_tags_ele = None self.movemode = False @@ -183,9 +188,8 @@ class MovieSelection(Screen, HelpableScreen, SelectionEventInfo): self["DescriptionBorder"] = Pixmap() self["DescriptionBorder"].hide() - if not pathExists(config.movielist.last_videodir.value): - config.movielist.last_videodir.value = resolveFilename(SCOPE_HDD) - config.movielist.last_videodir.save() + if not fileExists(config.movielist.last_videodir.value): + self.getDefaultMoviePath() self.current_ref = eServiceReference("2:0:1:0:0:0:0:0:0:0:" + config.movielist.last_videodir.value) self["list"] = MovieList(None, @@ -237,6 +241,19 @@ class MovieSelection(Screen, HelpableScreen, SelectionEventInfo): self.onLayoutFinish.append(self.saveListsize) self.inited = False + def getDefaultMoviePath(self): + path = defaultMoviePath() + config.movielist.last_videodir.value = path + config.movielist.last_videodir.save() + tmp = config.movielist.videodirs.value[:] + if path not in tmp: + tmp.append(path) + tmp.sort() + config.movielist.videodirs.value = tmp + config.movielist.videodirs.save() + + return path + def updateDescription(self): if config.movielist.description.value == MovieList.SHOW_DESCRIPTION: self["DescriptionBorder"].show() @@ -292,6 +309,7 @@ class MovieSelection(Screen, HelpableScreen, SelectionEventInfo): self.close(None) def saveconfig(self): + config.movielist.last_selected_tags.value = self.selected_tags config.movielist.moviesort.save() config.movielist.listtype.save() config.movielist.description.save() @@ -339,14 +357,13 @@ class MovieSelection(Screen, HelpableScreen, SelectionEventInfo): self["list"].setSortType(type) def reloadList(self, sel = None, home = False): - if not pathExists(config.movielist.last_videodir.value): - path = resolveFilename(SCOPE_HDD) - config.movielist.last_videodir.value = path - config.movielist.last_videodir.save() + if not fileExists(config.movielist.last_videodir.value): + path = self.getDefaultMoviePath() self.current_ref = eServiceReference("2:0:1:0:0:0:0:0:0:0:" + path) self["freeDiskSpace"].path = path if sel is None: sel = self.getCurrent() + self["list"].reload(self.current_ref, self.selected_tags) title = _("Recorded files...") if config.usage.setup_level.index >= 2: # expert+ @@ -370,7 +387,7 @@ class MovieSelection(Screen, HelpableScreen, SelectionEventInfo): def gotFilename(self, res): if res is not None and res is not config.movielist.last_videodir.value: - if pathExists(res): + if fileExists(res): config.movielist.last_videodir.value = res config.movielist.last_videodir.save() self.current_ref = eServiceReference("2:0:1:0:0:0:0:0:0:0:" + res) @@ -392,7 +409,7 @@ class MovieSelection(Screen, HelpableScreen, SelectionEventInfo): def showTagsN(self, tagele): if not self.tags: self.showTagWarning() - elif not tagele or self.selected_tags_ele == tagele or not tagele.value in self.tags: + elif not tagele or (self.selected_tags and tagele.value in self.selected_tags) or not tagele.value in self.tags: self.showTagsMenu(tagele) else: self.selected_tags_ele = tagele