+ def removeCurrentService(self):
+ l = self["list"]
+ ref = l.getCurrent()
+ mutableList = self.getMutableList()
+ if ref.valid() and mutableList is not None:
+ if mutableList.removeService(ref) == 0:
+ mutableList.flushChanges() #FIXME dont flush on each single removed service
+ self.setRoot(l.getRoot())
+
+ def addCurrentServiceToBouquet(self, dest):
+ mutableList = self.getMutableList(dest)
+ if not mutableList is None:
+ if mutableList.addService(self["list"].getCurrent()) == 0:
+ mutableList.flushChanges()
+ self.close()
+
+ def setRoot(self, root):
+ if not self.movemode: # dont change root when movemode is enabled
+ list = self["list"]
+
+ #HACK
+ inBouquetRootList = root.toString().find('FROM BOUQUET "bouquets.') != -1
+
+ if not inBouquetRootList and ((root.flags & eServiceReference.flagDirectory) == eServiceReference.flagDirectory):
+ list.setMode(list.MODE_FAVOURITES)
+ else:
+ list.setMode(list.MODE_NORMAL)
+ list.setRoot(root)
+