X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/0a3c6fb6afb4dbf87c2d66d0ea0fa8d7955d6b3c..eb47577c32b49a28eb7986b0fd86ed0d76207150:/lib/python/Components/MovieList.py diff --git a/lib/python/Components/MovieList.py b/lib/python/Components/MovieList.py index ecf50607..3c5f7e24 100644 --- a/lib/python/Components/MovieList.py +++ b/lib/python/Components/MovieList.py @@ -1,7 +1,9 @@ from HTMLComponent import * from GUIComponent import * +from Tools.FuzzyDate import FuzzyTime +from ServiceReference import ServiceReference -from enigma import eListboxPythonMultiContent, eListbox, gFont +from enigma import eListboxPythonMultiContent, eListbox, gFont, iServiceInformation from enigma import eServiceReference, eServiceCenter, \ eServiceCenterPtr, iListableServicePtr, \ @@ -38,8 +40,17 @@ def MovieListEntry(serviceref, serviceHandler): len = "?:??" res.append((0, 0, 400, 30, 0, RT_HALIGN_LEFT, info.getName(serviceref))) - res.append((0, 30, 200, 20, 1, RT_HALIGN_LEFT, "Toller Film")) - res.append((0, 50, 200, 20, 1, RT_HALIGN_LEFT, "Aufgenommen: irgendwann")) + + description = info.getInfoString(serviceref, iServiceInformation.sDescription) + begin = info.getInfo(serviceref, iServiceInformation.sTimeCreate) + + begin_string = "" + if begin > 0: + t = FuzzyTime(begin) + begin_string = t[0] + ", " + t[1] + + res.append((0, 30, 200, 20, 1, RT_HALIGN_LEFT, description)) + res.append((0, 50, 200, 20, 1, RT_HALIGN_LEFT, begin_string)) res.append((200, 50, 200, 20, 1, RT_HALIGN_RIGHT, len)) return res @@ -52,7 +63,13 @@ class MovieList(HTMLComponent, GUIComponent): self.l.setList(self.list) self.l.setFont(0, gFont("Arial", 30)) self.l.setFont(1, gFont("Arial", 18)) - + + def moveToIndex(self, index): + self.instance.moveSelectionTo(index) + + def getCurrentIndex(self): + return self.instance.getCurrentIndex() + def getCurrent(self): return self.l.getCurrentSelection() @@ -70,6 +87,7 @@ class MovieList(HTMLComponent, GUIComponent): # nice list self.list = [ ] + self.root = root serviceHandler = eServiceCenter.getInstance() list = serviceHandler.list(root) @@ -88,3 +106,19 @@ class MovieList(HTMLComponent, GUIComponent): # now process them... for ref in movieList: self.list.append(MovieListEntry(ref, serviceHandler)) + + def moveTo(self, serviceref): + found = 0 + count = 0 + for x in self.list: + if str(ServiceReference(x[0])) == str(ServiceReference(serviceref)): + found = count + 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)