diff options
| author | Stefan Pluecken <stefan.pluecken@multimedia-labs.de> | 2006-01-03 12:19:14 +0000 |
|---|---|---|
| committer | Stefan Pluecken <stefan.pluecken@multimedia-labs.de> | 2006-01-03 12:19:14 +0000 |
| commit | abd961024accfc54ffea8a36999417b44861c52b (patch) | |
| tree | e9390902263fc85109eecff386853f017807815f /lib | |
| parent | 8c84c2a2c0b8d33404540ab50278de63d3c7fccc (diff) | |
| download | enigma2-abd961024accfc54ffea8a36999417b44861c52b.tar.gz enigma2-abd961024accfc54ffea8a36999417b44861c52b.zip | |
display "please wait" message in movieselection while hdd spins up
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/python/Components/DiskInfo.py | 5 | ||||
| -rw-r--r-- | lib/python/Components/MovieList.py | 15 | ||||
| -rw-r--r-- | lib/python/Screens/MovieSelection.py | 25 |
3 files changed, 31 insertions, 14 deletions
diff --git a/lib/python/Components/DiskInfo.py b/lib/python/Components/DiskInfo.py index 68674e99..9490a0f8 100644 --- a/lib/python/Components/DiskInfo.py +++ b/lib/python/Components/DiskInfo.py @@ -11,12 +11,13 @@ class DiskInfo(GUIComponent, VariableText): USED = 1 SIZE = 2 - def __init__(self, path, type): + def __init__(self, path, type, update = True): GUIComponent.__init__(self) VariableText.__init__(self) self.type = type self.path = path - self.update() + if update: + self.update() def update(self): try: diff --git a/lib/python/Components/MovieList.py b/lib/python/Components/MovieList.py index 7ec8a9ff..b31f7ff5 100644 --- a/lib/python/Components/MovieList.py +++ b/lib/python/Components/MovieList.py @@ -59,8 +59,8 @@ class MovieList(HTMLComponent, GUIComponent): def __init__(self, root): GUIComponent.__init__(self) self.l = eListboxPythonMultiContent() - self.load(root) - self.l.setList(self.list) + if root is not None: + self.reload(root) self.l.setFont(0, gFont("Regular", 30)) self.l.setFont(1, gFont("Regular", 18)) @@ -82,6 +82,13 @@ class MovieList(HTMLComponent, GUIComponent): self.instance.setContent(None) self.instance = None + def reload(self, root = None): + if root is not None: + self.load(root) + else: + self.load(self.root) + self.l.setList(self.list) + def load(self, root): # this lists our root service, then building a # nice list @@ -116,9 +123,5 @@ class MovieList(HTMLComponent, GUIComponent): count += 1 self.instance.moveSelectionTo(found) - def reload(self): - self.load(self.root) - self.l.setList(self.list) - def moveDown(self): self.instance.moveSelection(self.instance.moveDown) diff --git a/lib/python/Screens/MovieSelection.py b/lib/python/Screens/MovieSelection.py index 6bb18721..9e1879ce 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,17 @@ 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.delayTimer.start(0, 1) + + 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"], { @@ -83,6 +88,14 @@ class MovieSelection(Screen): }) self["actions"].csel = self + 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) |
