X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/366798cd63b9250ce86e213e44c353fce1d722d0..27502137f7ebcbb1a783faf8cba14251e42a8998:/lib/python/Screens/MovieSelection.py diff --git a/lib/python/Screens/MovieSelection.py b/lib/python/Screens/MovieSelection.py index effb5389..079f5ebd 100644 --- a/lib/python/Screens/MovieSelection.py +++ b/lib/python/Screens/MovieSelection.py @@ -5,11 +5,14 @@ from Components.ActionMap import ActionMap from Components.MovieList import MovieList from Components.DiskInfo import DiskInfo from Components.Label import Label +from Components.PluginComponent import plugins +from Plugins.Plugin import PluginDescriptor from Screens.MessageBox import MessageBox from Screens.FixedMenu import FixedMenu from Tools.Directories import * +from Tools.BoundFunction import boundFunction from enigma import eServiceReference, eServiceCenter, eTimer @@ -20,8 +23,14 @@ class ChannelContextMenu(FixedMenu): 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(self.session, self.service) def delete(self): serviceHandler = eServiceCenter.getInstance() @@ -52,13 +61,7 @@ class ChannelContextMenu(FixedMenu): if result == False: self.session.openWithCallback(self.close, MessageBox, _("Delete failed!"), MessageBox.TYPE_ERROR) else: - list = self.csel["list"] - currentIndex = list.getCurrentIndex() - list.moveDown() - if list.getCurrentIndex() == currentIndex: - currentIndex -= 1 - list.reload() - list.moveToIndex(currentIndex) + list = self.csel["list"].removeService(self.service) self.close() class MovieSelection(Screen):