X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/21ad640445f0812c5fa954015a3389e4824dc5e1..cbdae9732240da8ae902936fd8819ffbbae2f1cf:/lib/python/Screens/MovieSelection.py diff --git a/lib/python/Screens/MovieSelection.py b/lib/python/Screens/MovieSelection.py index 6bb18721..30f8d408 100644 --- a/lib/python/Screens/MovieSelection.py +++ b/lib/python/Screens/MovieSelection.py @@ -4,13 +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 Tools.Directories import * -from enigma import eServiceReference, eServiceCenter +from enigma import eServiceReference, eServiceCenter, eTimer class ChannelContextMenu(FixedMenu): def __init__(self, session, csel, service): @@ -67,13 +68,16 @@ class MovieSelection(Screen): self.movemode = False self.bouquet_mark_edit = False - self["list"] = MovieList(eServiceReference("2:0:1:0:0:0:0:0:0:0:" + resolveFilename(SCOPE_HDD))) - if (selectedmovie is not None): - self.onShown.append(self.moveTo) - self.selectedmovie = selectedmovie + 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(resolveFilename(SCOPE_HDD), DiskInfo.FREE) + self["freeDiskSpace"] = DiskInfo(resolveFilename(SCOPE_HDD), DiskInfo.FREE, update=False) self["actions"] = ActionMap(["OkCancelActions", "ContextMenuActions"], { @@ -82,6 +86,18 @@ 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)