some nicer code
[enigma2.git] / lib / python / Screens / InfoBarGenerics.py
index 91222617d5a483141fef1e34e3c8b6ac18c9e038..389e119f4b794dcd76538ec84120b380bf54234a 100644 (file)
@@ -221,7 +221,7 @@ class InfoBarNumberZap:
                bouquet = self.servicelist.bouquet_root
                service = None
                serviceHandler = eServiceCenter.getInstance()
-               if bouquet.toString().find('FROM BOUQUET "bouquets.') == -1: #FIXME HACK
+               if not config.usage.multibouquet.value:
                        service, number = self.searchNumberHelper(serviceHandler, number, bouquet)
                else:
                        bouquetlist = serviceHandler.list(bouquet)
@@ -1510,29 +1510,18 @@ class InfoBarSubserviceSelection:
                                self.bsel = self.session.openWithCallback(self.bouquetSelClosed, BouquetSelector, self.bouquets, self.addSubserviceToBouquet)
                        elif cnt == 1: # add to only one existing bouquet
                                self.addSubserviceToBouquet(self.bouquets[0][1])
+                               self.session.open(MessageBox, _("Service has been added to the favourites."), MessageBox.TYPE_INFO)
 
-       def bouquetSelClosed(self, **args):
+       def bouquetSelClosed(self, confirmed):
                self.bsel = None
                del self.selectedSubservice
+               if confirmed:
+                       self.session.open(MessageBox, _("Service has been added to the selected bouquet."), MessageBox.TYPE_INFO)
 
        def addSubserviceToBouquet(self, dest):
-               serviceHandler = eServiceCenter.getInstance()
-               list = dest and serviceHandler.list(dest)
-               mutableList = dest and list and list.startEdit()
-               if mutableList:
-                       if not mutableList.addService(self.selectedSubservice[1]):
-                               mutableList.flushChanges()
-                               # do some voodoo to check if the subservice is added to the
-                               # current selected bouquet in channellist
-                               cur_root = self.servicelist.getRoot();
-                               str1 = cur_root.toString()
-                               str2 = dest.toString()
-                               pos1 = str1.find("FROM BOUQUET")
-                               pos2 = str2.find("FROM BOUQUET")
-                               if pos1 != -1 and pos2 != -1 and str1[pos1:] == str2[pos2:]:
-                                       self.servicelist.setMode()
+               self.servicelist.addServiceToBouquet(dest, self.selectedSubservice[1])
                if self.bsel:
-                       self.bsel.close()
+                       self.bsel.close(True)
                else:
                        del self.selectedSubservice