X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/075ad90b31e50c2b737acc6bc0b20ae6764ceffb..baf703d44c2fdb3bb754ca8dca2ff1e2c619a2bc:/lib/python/Screens/ChannelSelection.py diff --git a/lib/python/Screens/ChannelSelection.py b/lib/python/Screens/ChannelSelection.py index ff2928ec..4430edd0 100644 --- a/lib/python/Screens/ChannelSelection.py +++ b/lib/python/Screens/ChannelSelection.py @@ -73,7 +73,7 @@ class ChannelContextMenu(Screen): current_sel_flags = csel.getCurrentSelection().flags inBouquetRootList = current_root and current_root.getPath().find('FROM BOUQUET "bouquets.') != -1 #FIXME HACK inBouquet = csel.getMutableList() is not None - haveBouquets = csel.bouquet_root.getPath().find('FROM BOUQUET "bouquets.') != -1 + haveBouquets = config.usage.multibouquet.value if not csel.bouquet_mark_edit and not csel.movemode: if not inBouquetRootList: @@ -90,7 +90,7 @@ class ChannelContextMenu(Screen): else: if haveBouquets: if not inBouquet and current_sel_path.find("PROVIDERS") == -1: - menu.append((_("copy to favourites"), self.copyCurrentToBouquetList)) + menu.append((_("copy to bouquets"), self.copyCurrentToBouquetList)) if current_sel_path.find("flags == %d" %(FLAG_SERVICE_NEW_FOUND)) != -1: menu.append((_("remove all new found flags"), self.removeAllNewFoundFlags)) if inBouquet: @@ -151,7 +151,6 @@ class ChannelContextMenu(Screen): self.close() else: self.session.openWithCallback(self.close, MessageBox, _("The pin code you entered is wrong."), MessageBox.TYPE_ERROR) - def addServiceToBouquetSelected(self): bouquets = self.csel.getBouquetList() @@ -163,8 +162,6 @@ class ChannelContextMenu(Screen): 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 @@ -341,6 +338,13 @@ class ChannelSelectionEdit: mutableBouquet.flushChanges() else: print "get mutable list for new created bouquet failed" + # do some voodoo to check if current_root is equal to bouquet_root + cur_root = self.getRoot(); + str1 = cur_root.toString() + pos1 = str1.find("FROM BOUQUET") + pos2 = self.bouquet_rootstr.find("FROM BOUQUET") + if pos1 != -1 and pos2 != -1 and str1[pos1:] == self.bouquet_rootstr[pos2:]: + self.setMode() #reload else: print "add", str, "to bouquets failed" else: @@ -376,7 +380,7 @@ class ChannelSelectionEdit: self.saved_title = self.instance.getTitle() pos = self.saved_title.find(')') new_title = self.saved_title[:pos+1] - if self.bouquet_root.getPath().find('FROM BOUQUET "bouquets.') != -1: + if config.usage.multibouquet.value: new_title += ' ' + _("[bouquet edit]") else: new_title += ' ' + _("[favourite edit]") @@ -546,7 +550,7 @@ class ChannelSelectionBase(Screen): return ref def getBouquetNumOffset(self, bouquet): - if self.bouquet_root.getPath().find('FROM BOUQUET "bouquets.') == -1: #FIXME HACK + if config.usage.multibouquet.value: return 0 bouquet = self.appendDVBTypes(bouquet) try: @@ -769,9 +773,9 @@ class ChannelSelectionBase(Screen): n = ("%s (%d.%d" + h + ")") % (service_name, orbpos / 10, orbpos % 10) service.setName(n) self.servicelist.addService(service) - self.servicelist.finishFill() - if prev is not None: - self.setCurrentSelection(prev) + self.servicelist.finishFill() + if prev is not None: + self.setCurrentSelection(prev) def showProviders(self): if not self.pathChangedDisabled: @@ -847,25 +851,24 @@ class ChannelSelectionBase(Screen): self.servicelist.setCurrent(service) def getBouquetList(self): - serviceCount=0 bouquets = [ ] serviceHandler = eServiceCenter.getInstance() - list = serviceHandler.list(self.bouquet_root) - if not list is None: - while True: - s = list.getNext() - if not s.valid(): - break - if ((s.flags & eServiceReference.flagDirectory) == eServiceReference.flagDirectory): - info = serviceHandler.info(s) - if not info is None: - bouquets.append((info.getName(s), s)) - else: - serviceCount += 1 - if len(bouquets) == 0 and serviceCount > 0: - info = serviceHandler.info(self.bouquet_root) - if not info is None: - bouquets.append((info.getName(self.bouquet_root), self.bouquet_root)) + if config.usage.multibouquet.value: + list = serviceHandler.list(self.bouquet_root) + if not list is None: + while True: + s = list.getNext() + if not s.valid(): + break + if ((s.flags & eServiceReference.flagDirectory) == eServiceReference.flagDirectory): + info = serviceHandler.info(s) + if not info is None: + bouquets.append((info.getName(s), s)) + return bouquets + else: + info = serviceHandler.info(self.bouquet_root) + if not info is None: + bouquets.append((info.getName(self.bouquet_root), self.bouquet_root)) return bouquets return None