X-Git-Url: http://code.vuplus.com/gitweb/?a=blobdiff_plain;f=lib%2Fpython%2FScreens%2FMovieSelection.py;h=30f8d408d6e9802804ed2aef3d3304bd7c95f084;hb=5acb8fc9d204c63e0da84142c570c5ca41424cae;hp=e9dc5b388fc3accf3e842ebad29fed1a153b262a;hpb=4cc1f7a05166715c19c965e3bbbe74a43835a754;p=vuplus_dvbapp diff --git a/lib/python/Screens/MovieSelection.py b/lib/python/Screens/MovieSelection.py index e9dc5b3..30f8d40 100644 --- a/lib/python/Screens/MovieSelection.py +++ b/lib/python/Screens/MovieSelection.py @@ -4,11 +4,14 @@ from Components.ServiceList import ServiceList from Components.ActionMap import ActionMap from Components.MovieList import MovieList from Components.DiskInfo import DiskInfo +from Components.Label import Label from Screens.MessageBox import MessageBox from Screens.FixedMenu import FixedMenu -from enigma import eServiceReference, eServiceCenter +from Tools.Directories import * + +from enigma import eServiceReference, eServiceCenter, eTimer class ChannelContextMenu(FixedMenu): def __init__(self, session, csel, service): @@ -32,7 +35,7 @@ class ChannelContextMenu(FixedMenu): if result == True: self.session.openWithCallback(self.deleteConfirmed, MessageBox, _("Do you really want to delete this recording?")) else: - self.session.openWithCallback(self.close, MessageBox, _("You cannot delete this!")) + self.session.openWithCallback(self.close, MessageBox, _("You cannot delete this!"), MessageBox.TYPE_ERROR) def deleteConfirmed(self, confirmed): if not confirmed: @@ -47,7 +50,7 @@ class ChannelContextMenu(FixedMenu): result = True if result == False: - self.session.openWithCallback(self.close, MessageBox, _("Delete failed!")) + self.session.openWithCallback(self.close, MessageBox, _("Delete failed!"), MessageBox.TYPE_ERROR) else: list = self.csel["list"] currentIndex = list.getCurrentIndex() @@ -59,16 +62,22 @@ class ChannelContextMenu(FixedMenu): self.close() class MovieSelection(Screen): - def __init__(self, session): + def __init__(self, session, selectedmovie = None): Screen.__init__(self, session) self.movemode = False self.bouquet_mark_edit = False - self["list"] = MovieList(eServiceReference("2:0:1:0:0:0:0:0:0:0:/hdd/movies/")) + self.delayTimer = eTimer() + self.delayTimer.timeout.get().append(self.updateHDDData) + + self["waitingtext"] = Label(_("Please wait... Loading list...")) + + self["list"] = MovieList(None) + self.selectedmovie = selectedmovie #self["okbutton"] = Button("ok", [self.channelSelected]) - self["freeDiskSpace"] = DiskInfo("/hdd/movies", DiskInfo.FREE) + self["freeDiskSpace"] = DiskInfo(resolveFilename(SCOPE_HDD), DiskInfo.FREE, update=False) self["actions"] = ActionMap(["OkCancelActions", "ContextMenuActions"], { @@ -77,6 +86,21 @@ class MovieSelection(Screen): "contextMenu": self.doContext, }) self["actions"].csel = self + self.onShown.append(self.go) + + def go(self): + self.delayTimer.start(0, 1) + + def updateHDDData(self): + self["list"].reload(eServiceReference("2:0:1:0:0:0:0:0:0:0:" + resolveFilename(SCOPE_HDD))) + if (self.selectedmovie is not None): + self.moveTo() + self["waitingtext"].instance.hide() + + self["freeDiskSpace"].update() + + def moveTo(self): + self["list"].moveTo(self.selectedmovie) def getCurrent(self): return self["list"].getCurrent()[0]