diff options
| author | Felix Domke <tmbinc@elitedvb.net> | 2005-11-13 04:30:57 +0000 |
|---|---|---|
| committer | Felix Domke <tmbinc@elitedvb.net> | 2005-11-13 04:30:57 +0000 |
| commit | 36f427fcb34bb0dafa3d395dbc6bfc060494c874 (patch) | |
| tree | 3fcb7a8ea076b4e7f74efe4c220657cbe2bab3e6 /lib/python/Screens | |
| parent | d1455ab44c24de50db9c4ed7efb2ac2a523b9fdd (diff) | |
| download | enigma2-36f427fcb34bb0dafa3d395dbc6bfc060494c874.tar.gz enigma2-36f427fcb34bb0dafa3d395dbc6bfc060494c874.zip | |
make delete working in movieMenu
Diffstat (limited to 'lib/python/Screens')
| -rw-r--r-- | lib/python/Screens/MovieSelection.py | 46 |
1 files changed, 40 insertions, 6 deletions
diff --git a/lib/python/Screens/MovieSelection.py b/lib/python/Screens/MovieSelection.py index ccaa4538..ad93a5eb 100644 --- a/lib/python/Screens/MovieSelection.py +++ b/lib/python/Screens/MovieSelection.py @@ -5,13 +5,15 @@ from Components.ActionMap import ActionMap from Components.MovieList import MovieList from Components.DiskInfo import DiskInfo +from Screens.MessageBox import MessageBox from Screens.FixedMenu import FixedMenu -from enigma import eServiceReference +from enigma import eServiceReference, eServiceCenter class ChannelContextMenu(FixedMenu): - def __init__(self, session, csel): + def __init__(self, session, csel, service): self.csel = csel + self.service = service menu = [("back", self.close), ("delete...", self.delete)] @@ -19,8 +21,37 @@ class ChannelContextMenu(FixedMenu): self.skinName = "Menu" def delete(self): - print "deleting ALL SERVICES! HA HA HA!" - pass + serviceHandler = eServiceCenter.getInstance() + offline = serviceHandler.offlineOperations(self.service) + result = False + if offline is not None: + # simulate first + if not offline.deleteFromDisk(1): + result = True + + if result == True: + self.session.openWithCallback(self.deleteConfirmed, MessageBox, "Do you really want to delete this recording?") + else: + self.session.openWithCallback(self.close, MessageBox, "You cannot delete this!") + + def deleteConfirmed(self, confirmed): + if not confirmed: + return self.close() + + serviceHandler = eServiceCenter.getInstance() + offline = serviceHandler.offlineOperations(self.service) + result = False + if offline is not None: + # really delete! + if not offline.deleteFromDisk(0): + result = True + + if result == False: + self.session.openWithCallback(self.close, MessageBox, "Delete failed!") + else: + self.csel["list"].reload() + self.close() + class MovieSelection(Screen): def __init__(self, session): @@ -42,9 +73,12 @@ class MovieSelection(Screen): }) self["actions"].csel = self + def getCurrent(self): + return self["list"].getCurrent()[0] + def movieSelected(self): - self.session.nav.playService(self["list"].getCurrent()[0]) + self.session.nav.playService(self.getCurrent()) self.close() def doContext(self): - self.session.open(ChannelContextMenu, self) + self.session.open(ChannelContextMenu, self, self.getCurrent()) |
