X-Git-Url: http://code.vuplus.com/gitweb/?a=blobdiff_plain;f=lib%2Fpython%2FScreens%2FChannelSelection.py;h=2bc6259a2eb0b8a0b46a8e5b765d0b0e8da6bbf6;hb=d26280c98cf140bb1f48fbc501810a84b6f0fcda;hp=7db3a1c896533befc2b1613c75bf7a4929de553d;hpb=98b940407ef2a95e33709ee90b30f959e381f615;p=vuplus_dvbapp diff --git a/lib/python/Screens/ChannelSelection.py b/lib/python/Screens/ChannelSelection.py index 7db3a1c..2bc6259 100644 --- a/lib/python/Screens/ChannelSelection.py +++ b/lib/python/Screens/ChannelSelection.py @@ -43,9 +43,11 @@ class BouquetSelector(Screen): self.close(False) class ChannelContextMenu(Screen): + def __init__(self, session, csel): Screen.__init__(self, session) self.csel = csel + self.bsel = None self["actions"] = ActionMap(["OkCancelActions"], { @@ -117,13 +119,14 @@ class ChannelContextMenu(Screen): else: cnt = len(bouquets) if cnt > 1: # show bouquet list - self.session.openWithCallback(self.bouquetSelClosed, BouquetSelector, bouquets, self.addCurrentServiceToBouquet) + self.bsel = self.session.openWithCallback(self.bouquetSelClosed, BouquetSelector, bouquets, self.addCurrentServiceToBouquet) elif cnt == 1: # add to only one existing bouquet self.addCurrentServiceToBouquet(bouquets[0][1]) else: #no bouquets in root.. so assume only one favourite list is used self.addCurrentServiceToBouquet(self.csel.bouquet_root) def bouquetSelClosed(self, recursive): + self.bsel = None if recursive: self.close(False) @@ -137,7 +140,10 @@ class ChannelContextMenu(Screen): def addCurrentServiceToBouquet(self, dest): self.csel.addCurrentServiceToBouquet(dest) - self.close(True) # close bouquet selection + if self.bsel is not None: + self.bsel.close(True) + else: + self.close(True) # close bouquet selection def removeCurrentService(self): self.csel.removeCurrentService() @@ -209,7 +215,7 @@ class ChannelSelectionEdit: serviceHandler = eServiceCenter.getInstance() if not root.valid(): root=self.getRoot() - list = serviceHandler.list(root) + list = root and serviceHandler.list(root) if list is not None: return list.startEdit() return None