changes for identify -C and -T services
[enigma2.git] / lib / python / Screens / ChannelSelection.py
index a38182edca1431ceb414089ce24555b997317f04..83962e07c0bdb77d9fa5cc3d5a1f329fecc8ae88 100644 (file)
@@ -21,7 +21,7 @@ from os import remove
 import xml.dom.minidom
 
 class BouquetSelector(Screen):
-       def __init__(self, session, bouquets, selectedFunc):
+       def __init__(self, session, bouquets, selectedFunc, enableWrapAround=False):
                Screen.__init__(self, session)
 
                self.selectedFunc=selectedFunc
@@ -34,16 +34,25 @@ class BouquetSelector(Screen):
                entrys = [ ]
                for x in bouquets:
                        entrys.append((x[0], x[1]))
-               self["menu"] = MenuList(entrys)
+               self["menu"] = MenuList(entrys, enableWrapAround)
+
+       def getCurrent(self):
+               cur = self["menu"].getCurrent()
+               return cur and cur[1]
 
        def okbuttonClick(self):
-               self.selectedFunc(self["menu"].getCurrent()[1])
+               self.selectedFunc(self.getCurrent())
+
+       def up(self):
+               self["menu"].up()
+
+       def down(self):
+               self["menu"].down()
 
        def cancelClick(self):
                self.close(False)
 
 class ChannelContextMenu(Screen):
-       
        def __init__(self, session, csel):
                Screen.__init__(self, session)
                self.csel = csel
@@ -692,12 +701,17 @@ class ChannelSelectionBase(Screen):
                                                                service_name += str(' - %s'%(nimmanager.getSatDescription(orbpos)))
                                                                service.setName(service_name) # why we need this cast?
                                                        except:
-                                                               if orbpos > 1800: # west
-                                                                       orbpos = 3600 - orbpos
-                                                                       h = _("W")
+                                                               if orbpos == 0xFFFF0000: #Cable
+                                                                       n = ("%s (%s)") % (service_name, _("Cable"))
+                                                               elif orbpos == 0xEEEE0000: #Terrestrial
+                                                                       n = ("%s (%s)") % (service_name, _("Terrestrial"))
                                                                else:
-                                                                       h = _("E")
-                                                               n = ("%s (%d.%d" + h + ")") % (service_name, orbpos / 10, orbpos % 10)
+                                                                       if orbpos > 1800: # west
+                                                                               orbpos = 3600 - orbpos
+                                                                               h = _("W")
+                                                                       else:
+                                                                               h = _("E")
+                                                                       n = ("%s (%d.%d" + h + ")") % (service_name, orbpos / 10, orbpos % 10)
                                                                service.setName(n)
                                                        self.servicelist.addService(service)
                                                        self.servicelist.finishFill()