X-Git-Url: http://code.vuplus.com/gitweb/?a=blobdiff_plain;f=lib%2Fpython%2FPlugins%2FSystemPlugins%2FManualFancontrol%2Fplugin.py;h=8a0be65db518e519339c0cd8a12ad5f40e9701f7;hb=b7dde31e189ad182d06028aca80bb9a3793d109d;hp=4574e0fd086e0c1a7590ef2485d7eea7b4a066fe;hpb=4c42f488a12663090df186a29cbfbc828cabfcf0;p=vuplus_dvbapp diff --git a/lib/python/Plugins/SystemPlugins/ManualFancontrol/plugin.py b/lib/python/Plugins/SystemPlugins/ManualFancontrol/plugin.py index 4574e0f..8a0be65 100755 --- a/lib/python/Plugins/SystemPlugins/ManualFancontrol/plugin.py +++ b/lib/python/Plugins/SystemPlugins/ManualFancontrol/plugin.py @@ -6,6 +6,7 @@ from Screens.MessageBox import MessageBox from Components.Sources.StaticText import StaticText from Plugins.Plugin import PluginDescriptor from Plugins.SystemPlugins.ManualFancontrol.InstandbyOn import instandbyon +import NavigationInstance class ManualFancontrol(Screen,ConfigListScreen): skin = """ @@ -20,8 +21,6 @@ class ManualFancontrol(Screen,ConfigListScreen): def __init__(self,session): Screen.__init__(self,session) - print "init" - self.setup_title="TestSetupTitle" self.session = session self["shortcuts"] = ActionMap(["ShortcutActions", "SetupActions" ], { @@ -35,50 +34,92 @@ class ManualFancontrol(Screen,ConfigListScreen): self["key_red"] = StaticText(_("Cancel")) self["key_green"] = StaticText(_("Save")) self["current"] = StaticText(_(" ")) - self.createSetup() + self.configSetup() + self.oldfanoffmode = instandbyon.fanoffmode + if instandbyon.fanoffmode is 'ON' : + instandbyon.checkStatusLoopStop() def displayCurrentValue(self): - cur = self["config"].getCurrent()[0] - val = self["config"].getCurrent()[1].value - currrent_val = cur+" : "+str(val) + currrent_val = self["config"].getCurrent()[0]+" : "+str(self["config"].getCurrent()[1].value) self["current"].setText(_(currrent_val)) print currrent_val def selectionChanged(self): - self.displayCurrentValue() if self["config"].getCurrent() == self.pwmEntry: instandbyon.setPWM(self["config"].getCurrent()[1].value) def keyLeft(self): + oldpwmvalue=config.plugins.manualfancontrols.pwmvalue.value ConfigListScreen.keyLeft(self) - self.newConfig() + if self["config"].getCurrent() == self.pwmEntry and oldpwmvalue == 5: + self.createSetup() + else: + self.displayCurrentValue() self.selectionChanged() def keyRight(self): + oldpwmvalue=config.plugins.manualfancontrols.pwmvalue.value ConfigListScreen.keyRight(self) - self.newConfig() + if self["config"].getCurrent() == self.pwmEntry and oldpwmvalue == 0: + self.createSetup() + while self["config"].getCurrent() != self.pwmEntry: + self["config"].setCurrentIndex(self["config"].getCurrentIndex()+1) + else: + self.displayCurrentValue() self.selectionChanged() def createSetup(self): self.list = [] - self.standbyEntry = getConfigListEntry(_("FanOFF InStanby"), config.plugins.simplefancontrols.standbymode) - self.pwmEntry = getConfigListEntry(_("PWM value"), config.plugins.simplefancontrols.pwmvalue) - self.list.append( self.standbyEntry ) + if config.plugins.manualfancontrols.pwmvalue.value > 0: + self.list.append( self.standbyEntry ) self.list.append( self.pwmEntry ) + self.list.append( self.periodEntry ) self["config"].list = self.list self["config"].l.setList(self.list) + + def configSetup(self): + self.standbyEntry = getConfigListEntry(_("FanOFF InStanby"), config.plugins.manualfancontrols.standbymode) + self.pwmEntry = getConfigListEntry(_("PWM value"), config.plugins.manualfancontrols.pwmvalue) + self.periodEntry = getConfigListEntry(_("Status Check Period"), config.plugins.manualfancontrols.checkperiod) if not self.displayCurrentValue in self["config"].onSelectionChanged: self["config"].onSelectionChanged.append(self.displayCurrentValue) - - def newConfig(self): - if self["config"].getCurrent() == self.standbyEntry: - self.createSetup() + self.createSetup() def keySave(self): + if instandbyon.fanoffmode is 'OFF' and config.plugins.manualfancontrols.pwmvalue.value == 0: + print " instandbyon.fanoffmode 'OFF' -> 'ON'" + instandbyon.fanoffmode = 'ON' + instandbyon.addRecordEventCB() + instandbyon.checkStatusLoopStart() + elif instandbyon.fanoffmode is 'ON' and config.plugins.manualfancontrols.pwmvalue.value != 0: + print " instandbyon.fanoffmode 'ON' -> 'OFF'" + instandbyon.fanoffmode = 'OFF' + instandbyon.removeRecordEventCB() +# instandbyon.checkStatusLoopStop() # stoped at init + elif self.oldfanoffmode is 'ON' : + instandbyon.checkStatusLoopStart() + instandbyon.checkStstus() ConfigListScreen.keySave(self) + def cancelConfirm(self, result): + if not result: + return + for x in self["config"].list: + x[1].cancel() + instandbyon.checkStstus() + self.oldfanoffmode = instandbyon.fanoffmode + if self.oldfanoffmode is 'ON' : + instandbyon.checkStatusLoopStart() + self.close() + def keyCancel(self): - ConfigListScreen.keyCancel(self) + if self["config"].isChanged(): + self.session.openWithCallback(self.cancelConfirm, MessageBox, _("Really close without saving settings?")) + else: + instandbyon.checkStstus() + if self.oldfanoffmode is 'ON' : + instandbyon.checkStatusLoopStart() + self.close() def main(session, **kwargs): session.open(ManualFancontrol)