From eb47577c32b49a28eb7986b0fd86ed0d76207150 Mon Sep 17 00:00:00 2001 From: Stefan Pluecken Date: Wed, 21 Dec 2005 22:04:56 +0000 Subject: [PATCH 1/1] move the movie selector to the currently playing movie --- lib/python/Components/MovieList.py | 10 ++++++++++ lib/python/Screens/InfoBar.py | 4 +++- lib/python/Screens/MovieSelection.py | 8 +++++++- 3 files changed, 20 insertions(+), 2 deletions(-) diff --git a/lib/python/Components/MovieList.py b/lib/python/Components/MovieList.py index 7121772c..3c5f7e24 100644 --- a/lib/python/Components/MovieList.py +++ b/lib/python/Components/MovieList.py @@ -1,6 +1,7 @@ from HTMLComponent import * from GUIComponent import * from Tools.FuzzyDate import FuzzyTime +from ServiceReference import ServiceReference from enigma import eListboxPythonMultiContent, eListbox, gFont, iServiceInformation @@ -105,6 +106,15 @@ 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) diff --git a/lib/python/Screens/InfoBar.py b/lib/python/Screens/InfoBar.py index 23754824..aaa3deba 100644 --- a/lib/python/Screens/InfoBar.py +++ b/lib/python/Screens/InfoBar.py @@ -2,6 +2,7 @@ from Screen import Screen from Screens.MovieSelection import MovieSelection from Screens.MessageBox import MessageBox +from ServiceReference import ServiceReference from Components.Clock import Clock from Components.ActionMap import ActionMap, HelpableActionMap @@ -82,7 +83,8 @@ class MoviePlayer(Screen, InfoBarVolumeControl, InfoBarShowHide, InfoBarPowerKey self.close() def showMovies(self): - self.session.openWithCallback(self.movieSelected, MovieSelection) + ref = self.session.nav.getCurrentlyPlayingServiceReference() + self.session.openWithCallback(self.movieSelected, MovieSelection, ref) def movieSelected(self, service): if service is not None: diff --git a/lib/python/Screens/MovieSelection.py b/lib/python/Screens/MovieSelection.py index e9dc5b38..ffa73c14 100644 --- a/lib/python/Screens/MovieSelection.py +++ b/lib/python/Screens/MovieSelection.py @@ -59,13 +59,16 @@ 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/")) + if (selectedmovie is not None): + self.onShown.append(self.moveTo) + self.selectedmovie = selectedmovie #self["okbutton"] = Button("ok", [self.channelSelected]) self["freeDiskSpace"] = DiskInfo("/hdd/movies", DiskInfo.FREE) @@ -78,6 +81,9 @@ class MovieSelection(Screen): }) self["actions"].csel = self + def moveTo(self): + self["list"].moveTo(self.selectedmovie) + def getCurrent(self): return self["list"].getCurrent()[0] -- 2.30.2