X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/c06f79c0451ca844f89809058a2767a1a319b137..1c21fe13bb453d0f11c8a40461b3bfe7dba5cef1:/lib/python/Components/Lcd.py diff --git a/lib/python/Components/Lcd.py b/lib/python/Components/Lcd.py index 77975f4d..eb3e3df1 100644 --- a/lib/python/Components/Lcd.py +++ b/lib/python/Components/Lcd.py @@ -1,37 +1,34 @@ -from config import config #global config instance -from config import ConfigSlider -from config import configSelection -from config import ConfigSubsection -from config import configElement +from config import config, ConfigSubsection, ConfigSlider, ConfigYesNo, ConfigNothing -from enigma import * +from enigma import eDBoxLCD class LCD: def __init__(self): pass def setBright(self, value): - eDBoxLCD.getInstance().setLCDBrightness(value * 20) - pass + value *= 255 + value /= 10 + if value > 255: + value = 255 + eDBoxLCD.getInstance().setLCDBrightness(value) def setContrast(self, value): + value *= 63 + value /= 20 + if value > 63: + value = 63 eDBoxLCD.getInstance().setLCDContrast(value) - pass def setInverted(self, value): if value: value = 255 - eDBoxLCD.getInstance().setInverted(1 - value) - pass + eDBoxLCD.getInstance().setInverted(value) -def InitLcd(): - config.lcd = ConfigSubsection(); - config.lcd.bright = configElement("config.lcd.bright", ConfigSlider, 10, "") - config.lcd.contrast = configElement("config.lcd.contrast", ConfigSlider, 10, "") - config.lcd.standby = configElement("config.lcd.standby", ConfigSlider, 0, "") - config.lcd.invert = configElement("config.lcd.invert", configSelection, 0, (("enable", _("Enable")), ("disable", _("Disable")))) + def isOled(self): + return eDBoxLCD.getInstance().isOled() - ilcd = LCD() +def InitLcd(): def setLCDbright(configElement): ilcd.setBright(configElement.value); @@ -42,9 +39,22 @@ def InitLcd(): def setLCDinverted(configElement): ilcd.setInverted(configElement.value); + ilcd = LCD() + + config.lcd = ConfigSubsection(); + + config.lcd.bright = ConfigSlider(default=10, limits=(0, 10)) config.lcd.bright.addNotifier(setLCDbright); - config.lcd.contrast.addNotifier(setLCDcontrast); - config.lcd.invert.addNotifier(setLCDinverted); - + config.lcd.bright.apply = lambda : setLCDbright(config.lcd.bright) + + if not ilcd.isOled(): + config.lcd.contrast = ConfigSlider(default=5, limits=(0, 20)) + config.lcd.contrast.addNotifier(setLCDcontrast); + else: + config.lcd.contrast = ConfigNothing() - \ No newline at end of file + config.lcd.standby = ConfigSlider(default=0, limits=(0, 10)) + config.lcd.standby.apply = lambda : setLCDbright(config.lcd.standby) + + config.lcd.invert = ConfigYesNo(default=False) + config.lcd.invert.addNotifier(setLCDinverted);