Merge branch 'master' into experimental
authorStefan Pluecken <stefan.pluecken@multimedia-labs.de>
Fri, 6 Nov 2009 17:17:22 +0000 (18:17 +0100)
committerStefan Pluecken <stefan.pluecken@multimedia-labs.de>
Fri, 6 Nov 2009 17:17:22 +0000 (18:17 +0100)
Conflicts:
lib/python/Components/config.py

1  2 
lib/python/Components/NimManager.py
lib/python/Components/config.py

@@@ -799,15 -799,15 +799,15 @@@ class NimManager
                                dm = nim.diseqcMode.value
                                if dm in ("single", "toneburst_a_b", "diseqc_a_b", "diseqc_a_b_c_d"):
                                        if nim.diseqcA.orbital_position != 3601:
-                                               list.append(self.satList[nim.diseqcA.index-1])
+                                               list.append(nim.diseqcA.getSat())
                                if dm in ("toneburst_a_b", "diseqc_a_b", "diseqc_a_b_c_d"):
                                        if nim.diseqcB.orbital_position != 3601:
-                                               list.append(self.satList[nim.diseqcB.index-1])
+                                               list.append(nim.diseqcB.getSat())
                                if dm == "diseqc_a_b_c_d":
                                        if nim.diseqcC.orbital_position != 3601:
-                                               list.append(self.satList[nim.diseqcC.index-1])
+                                               list.append(nim.diseqcC.getSat())
                                        if nim.diseqcD.orbital_position != 3601:
-                                               list.append(self.satList[nim.diseqcD.index-1])
+                                               list.append(nim.diseqcD.getSat())
                                if dm == "positioner":
                                        for x in self.satList:
                                                list.append(x)
@@@ -939,7 -939,7 +939,7 @@@ def InitNimManager(nimmgr)
  
        lnb_choices = {
                "universal_lnb": _("Universal LNB"),
 -#             "unicable": _("Unicable"),
 +              "unicable": _("Unicable"),
                "c_band": _("C-Band"),
                "user_defined": _("User defined")}
  
@@@ -1,6 -1,6 +1,6 @@@
  from enigma import getPrevAsciiCode
  from Tools.NumericalTextInput import NumericalTextInput
 -from Tools.Directories import resolveFilename, SCOPE_CONFIG
 +from Tools.Directories import resolveFilename, SCOPE_CONFIG, fileExists
  from Components.Harddisk import harddiskmanager
  from copy import copy as copy_copy
  from os import path as os_path
@@@ -1184,12 -1184,25 +1184,25 @@@ class ConfigSatlist(ConfigSelection)
        def __init__(self, list, default = None):
                if default is not None:
                        default = str(default)
-               ConfigSelection.__init__(self, choices = [(str(orbpos), desc) for (orbpos, desc, flags) in list], default = default)
+               list.sort(key = lambda x: int(x[0]))
+               self._satList = list
+               choices = [(str(orbpos), desc) for (orbpos, desc, flags) in list]
+               
+               ConfigSelection.__init__(self, choices = choices, default = default)
  
+       # use this function to get the orbital position, don't rely on .index
        def getOrbitalPosition(self):
                if self.value == "":
                        return None
                return int(self.value)
+       
+       def getSatList(self):
+               return self._satList
+       
+       def getSat(self):
+               return self.satList[self.index]
+       
+       satList = property(getSatList)
  
        orbital_position = property(getOrbitalPosition)
  
@@@ -1285,6 -1298,7 +1298,6 @@@ class ConfigLocations(ConfigElement)
                self.default = default
                self.locations = []
                self.mountpoints = []
 -              harddiskmanager.on_partition_list_change.append(self.mountpointsChanged)
                self.value = default[:]
  
        def setValue(self, value):
                locations = [[x, None, False, False] for x in tmp]
                self.refreshMountpoints()
                for x in locations:
 -                      if os_path.exists(x[0]):
 +                      if fileExists(x[0]):
                                x[1] = self.getMountpoint(x[0])
                                x[2] = True
                self.locations = locations
                        return False
                return self.tostring([x[0] for x in locations]) != sv
  
 -      def mountpointsChanged(self, action, dev):
 -              print "Mounts changed: ", action, dev
 -              mp = dev.mountpoint+"/"
 -              if action == "add":
 -                      self.addedMount(mp)
 -              elif action == "remove":
 -                      self.removedMount(mp)
 -              self.refreshMountpoints()
 -
        def addedMount(self, mp):
                for x in self.locations:
                        if x[1] == mp:
                                x[2] = True
 -                      elif x[1] == None and os_path.exists(x[0]):
 +                      elif x[1] == None and fileExists(x[0]):
                                x[1] = self.getMountpoint(x[0])
                                x[2] = True
  
                                x[2] = False
  
        def refreshMountpoints(self):
 -              self.mountpoints = [p.mountpoint + "/" for p in harddiskmanager.getMountedPartitions() if p.mountpoint != "/"]
 +              self.mountpoints = [p.mountpoint for p in harddiskmanager.getMountedPartitions() if p.mountpoint != "/"]
                self.mountpoints.sort(key = lambda x: -len(x))
  
        def checkChangedMountpoints(self):