X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/32af364319f0a6e1b7626e182c28ef596239539d..fe0d65abf126e400bd20a51aa96dd532b03efd3d:/lib/python/Components/MovieList.py diff --git a/lib/python/Components/MovieList.py b/lib/python/Components/MovieList.py index 1da5a519..d43b5106 100644 --- a/lib/python/Components/MovieList.py +++ b/lib/python/Components/MovieList.py @@ -1,13 +1,10 @@ -from GUIComponent import * +from GUIComponent import GUIComponent from Tools.FuzzyDate import FuzzyTime from ServiceReference import ServiceReference -from Components.MultiContent import MultiContentEntryText, RT_HALIGN_LEFT, RT_HALIGN_RIGHT +from Components.MultiContent import MultiContentEntryText -from enigma import eListboxPythonMultiContent, eListbox, gFont, iServiceInformation - -from enigma import eServiceReference, eServiceCenter, \ - eServiceCenterPtr, iListableServicePtr, \ - iStaticServiceInformationPtr +from enigma import eListboxPythonMultiContent, eListbox, gFont, iServiceInformation, \ + RT_HALIGN_LEFT, RT_HALIGN_RIGHT, eServiceReference, eServiceCenter class MovieList(GUIComponent): def __init__(self, root): @@ -20,6 +17,7 @@ class MovieList(GUIComponent): self.l.setFont(1, gFont("Regular", 18)) self.l.setFont(2, gFont("Regular", 16)) self.l.setBuildFunc(self.buildMovieListEntry) + self.l.setItemHeight(75) # # | name of movie | @@ -28,6 +26,12 @@ class MovieList(GUIComponent): if serviceref.flags & eServiceReference.mustDescent: return None + if len <= 0: #recalc len when not already done + cur_idx = self.l.getCurrentSelectionIndex() + x = self.list[cur_idx] + len = x[1].getLength(x[0]) #recalc the movie length... + self.list[cur_idx] = (x[0], x[1], x[2], len) #update entry in list... so next time we don't need to recalc + if len > 0: len = "%d:%02d" % (len / 60, len % 60) else: @@ -71,7 +75,6 @@ class MovieList(GUIComponent): def postWidgetCreate(self, instance): instance.setContent(self.l) - instance.setItemHeight(75) def reload(self, root = None, filter_tags = None): if root is not None: @@ -89,12 +92,6 @@ class MovieList(GUIComponent): def __len__(self): return len(self.list) - def updateLengthOfIndex(self, index): - if len(self.list) > index: - x = self.list[index] - self.list[index] = (x[0], x[1], x[2], x[1].getLength(x[0])) - self.l.invalidateEntry(index) - def load(self, root, filter_tags): # this lists our root service, then building a # nice list