X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/2cacfb04d1bff4047534b63618c3744346f65fd5..da54ea206b908d0ab08f7e8c61466c5fe6180540:/lib/python/Screens/MovieSelection.py diff --git a/lib/python/Screens/MovieSelection.py b/lib/python/Screens/MovieSelection.py index 91620ea2..add42abf 100644 --- a/lib/python/Screens/MovieSelection.py +++ b/lib/python/Screens/MovieSelection.py @@ -20,21 +20,23 @@ class ChannelContextMenu(FixedMenu): def __init__(self, session, csel, service): self.csel = csel self.service = service - + menu = [(_("back"), self.close), (_("delete..."), self.delete)] - + for p in plugins.getPlugins(PluginDescriptor.WHERE_MOVIELIST): menu.append((p.description, boundFunction(self.execPlugin, p))) - + FixedMenu.__init__(self, session, _("Movie Menu"), menu) self.skinName = "Menu" - + def execPlugin(self, plugin): plugin(session=self.session, service=self.service) def delete(self): serviceHandler = eServiceCenter.getInstance() offline = serviceHandler.offlineOperations(self.service) + info = serviceHandler.info(self.service) + name = info and info.getName(self.service) or _("this recording") result = False if offline is not None: # simulate first @@ -42,7 +44,7 @@ class ChannelContextMenu(FixedMenu): result = True if result == True: - self.session.openWithCallback(self.deleteConfirmed, MessageBox, _("Do you really want to delete this recording?")) + self.session.openWithCallback(self.deleteConfirmed, MessageBox, _("Do you really want to delete %s?") % (name)) else: self.session.openWithCallback(self.close, MessageBox, _("You cannot delete this!"), MessageBox.TYPE_ERROR) @@ -87,6 +89,7 @@ class MovieSelection(Screen): { "cancel": self.abort, "ok": self.movieSelected, + "showEventInfo": self.showEventInformation, "contextMenu": self.doContext, }) self["actions"].csel = self @@ -94,11 +97,21 @@ class MovieSelection(Screen): self.lengthTimer = eTimer() self.lengthTimer.timeout.get().append(self.updateLengthData) - + self.inited = False + + def showEventInformation(self): + from Screens.EventView import EventViewSimple + from ServiceReference import ServiceReference + evt = self["list"].getCurrentEvent() + if evt: + self.session.open(EventViewSimple, evt, ServiceReference(self.getCurrent())) + def go(self): + if not self.inited: # ouch. this should redraw our "Please wait..."-text. # this is of course not the right way to do this. - self.delayTimer.start(10, 1) + self.delayTimer.start(10, 1) + self.inited=True def updateHDDData(self): self["list"].reload(eServiceReference("2:0:1:0:0:0:0:0:0:0:" + resolveFilename(SCOPE_HDD))) @@ -122,10 +135,10 @@ class MovieSelection(Screen): self["list"].moveTo(self.selectedmovie) def getCurrent(self): - l = self["list"].getCurrent() - return l and l[0] + return self["list"].getCurrent() def movieSelected(self): + self.lengthTimer.stop() current = self.getCurrent() if current is not None: self.close(current)