diff --git a/Menu/GameShell/10_Settings/Brightness/brightness_page.py b/Menu/GameShell/10_Settings/Brightness/brightness_page.py index 0d1db3b..afcf641 100644 --- a/Menu/GameShell/10_Settings/Brightness/brightness_page.py +++ b/Menu/GameShell/10_Settings/Brightness/brightness_page.py @@ -62,18 +62,18 @@ class BSlider(Slider): def Further(self): self._Value+=1 - if self._Value < 9 : - if self.OnChangeCB != None: - if callable(self.OnChangeCB): - self.OnChangeCB(self._Value) - else: - self._Value = 8 + if self._Value > 9: + self._Value = 9 + + if self.OnChangeCB != None: + if callable(self.OnChangeCB): + self.OnChangeCB(self._Value) def StepBack(self): self._Value-=1 - if self._Value < 0: - self._Value = 0 + if self._Value < 1: + self._Value = 1 if self.OnChangeCB != None: if callable(self.OnChangeCB): @@ -86,7 +86,10 @@ class BSlider(Slider): self._Icons["scale"].NewCoord(self._Width/2,self._Height/2 ) - self._Icons["scale"]._IconIndex = self._Value + icon_idx = self._Value - 1 + if icon_idx < 0: + icon_idx = 0 + self._Icons["scale"]._IconIndex = icon_idx self._Icons["scale"].Draw() """ pygame.draw.line(self._CanvasHWND,(255,0,0), (posx,self._PosY),(self._Width,self._PosY),3) ## range line @@ -103,8 +106,6 @@ class BrightnessPage(Page): _MySlider = None _FootMsg = ["Nav","","","Back","Enter"] - _Max = 8 - _Min = 0 def Init(self): self._CanvasHWND = self._Screen._CanvasHWND @@ -141,23 +142,21 @@ class BrightnessPage(Page): def OnLoadCb(self): brt = self.ReadBackLight() + self._MySlider.SetValue( brt) def SetBackLight(self,newbrt): try: f = open(BackLight,'w') except IOError: - print("Open write %s failed %d" % (BackLight,newbrt+1)) + print("Open write %s failed %d" % (BackLight,newbrt)) return False else: with f: - f.write(str(newbrt+1)) + f.write(str(newbrt)) return True def WhenSliderDrag(self,value): ##value - if value < self._Min or value > self._Max: - return - self.SetBackLight(value) def KeyDown(self,event): diff --git a/Menu/GameShell/10_Settings/Sound/sound_page.py b/Menu/GameShell/10_Settings/Sound/sound_page.py index 53f441d..d601820 100644 --- a/Menu/GameShell/10_Settings/Sound/sound_page.py +++ b/Menu/GameShell/10_Settings/Sound/sound_page.py @@ -32,8 +32,9 @@ class SoundSlider(Slider): _NeedleSurf = None _Scale = None _Parent = None - _Segs = [0,15,29, 45,55,65, 75,90,100] + snd_segs = [ [0,20],[21,40],[41,50],[51,60],[61,70],[71,85],[86,90],[91,95],[96,100] ] + def __init__(self): Slider.__init__(self) @@ -58,20 +59,23 @@ class SoundSlider(Slider): self._Scale._IconHeight = 63 self._Scale.Adjust(0,0,82,63,0) - def SetValue(self,pct):#pct 0-100 - + def SetValue(self,vol):#pct 0-100 for i,v in enumerate(self.snd_segs): - if pct >= v[0] and pct <= v[1]: - self._Value = i + if vol >= v[0] and vol <= v[1]: + self._Value = i # self._Value : 0 - 8 + break def Further(self): self._Value+=1 - if self._Value < len(self._Segs): - if self.OnChangeCB != None: - if callable(self.OnChangeCB): - self.OnChangeCB( self._Segs[ self._Value ] ) - else: - self._Value = len(self._Segs)-1 + + if self._Value > len(self.snd_segs)-1: + self._Value = len(self.snd_segs) -1 + + vol = self.snd_segs[self._Value][0] + (self.snd_segs[self._Value][1] - self.snd_segs[self._Value][0])/2 + + if self.OnChangeCB != None: + if callable(self.OnChangeCB): + self.OnChangeCB( vol ) def StepBack(self): self._Value-=1 @@ -79,9 +83,11 @@ class SoundSlider(Slider): if self._Value < 0: self._Value = 0 + vol = self.snd_segs[self._Value][0] + if self.OnChangeCB != None: if callable(self.OnChangeCB): - self.OnChangeCB(self._Segs[self._Value] ) + self.OnChangeCB( vol ) def Draw(self): @@ -89,7 +95,7 @@ class SoundSlider(Slider): self._BGpng.Draw() self._Scale.NewCoord(self._Width/2,self._Height/2) - + self._Scale._IconIndex = self._Value self._Scale.Draw()