Merge branch 'bug_258_sorting_of_configsatlist'
authorghost <andreas.monzner@multimedia-labs.de>
Sat, 7 Nov 2009 13:28:22 +0000 (14:28 +0100)
committerghost <andreas.monzner@multimedia-labs.de>
Sat, 7 Nov 2009 13:28:22 +0000 (14:28 +0100)
1  2 
lib/python/Components/config.py

index d15c232ba1c259cbcac07c97289117bd4bfbfe1c,e249caf4d3e80029a09d19c6f77066147c7a03f4..789ec32fc85695396f84ceff645bf547d608692d
@@@ -1017,42 -1017,6 +1017,42 @@@ class ConfigPassword(ConfigText)
                ConfigText.onDeselect(self, session)
                self.hidden = True
  
 +# lets the user select between [min, min+stepwidth, min+(stepwidth*2)..., maxval] with maxval <= max depending
 +# on the stepwidth
 +# min, max, stepwidth, default are int values
 +# wraparound: pressing RIGHT key at max value brings you to min value and vice versa if set to True
 +class ConfigSelectionNumber(ConfigSelection):
 +      def __init__(self, min, max, stepwidth, default = None, wraparound = False):
 +              self.wraparound = wraparound
 +              if default is None:
 +                      default = min
 +              default = str(default)
 +              choices = []
 +              step = min
 +              while step <= max:
 +                      choices.append(str(step))
 +                      step += stepwidth
 +              
 +              ConfigSelection.__init__(self, choices, default)
 +              
 +      def getValue(self):
 +              return int(self.text)
 +
 +      def setValue(self, val):
 +              self.text = str(val)
 +              
 +      def handleKey(self, key):
 +              if not self.wraparound:
 +                      if key == KEY_RIGHT:
 +                              if len(self.choices) == (self.choices.index(self.value) + 1):
 +                                      return
 +                      if key == KEY_LEFT:
 +                              if self.choices.index(self.value) == 0:
 +                                      return
 +              ConfigSelection.handleKey(self, key)
 +                              
 +                              
 +
  class ConfigNumber(ConfigText):
        def __init__(self, default = 0):
                ConfigText.__init__(self, str(default), fixed_size = False)
@@@ -1184,24 -1148,12 +1184,12 @@@ class ConfigSatlist(ConfigSelection)
        def __init__(self, list, default = None):
                if default is not None:
                        default = str(default)
-               self._satList = list
-               choices = [(str(orbpos), desc) for (orbpos, desc, flags) in list]
-               
-               ConfigSelection.__init__(self, choices = choices, default = default)
+               ConfigSelection.__init__(self, choices = [(str(orbpos), desc) for (orbpos, desc, flags) in list], 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)