1 from Screens.Screen import Screen
2 from Components.ConfigList import ConfigListScreen
3 from Components.config import config, getConfigListEntry, ConfigSubsection, ConfigSlider
4 from Components.ActionMap import ActionMap
5 from Components.Sources.StaticText import StaticText
6 from Components.Label import Label
7 from Plugins.Plugin import PluginDescriptor
8 from Screens.MessageBox import MessageBox
9 from Tools.Directories import fileExists
10 from enigma import eTimer
11 from enigma import eDBoxLCD
13 config.plugins.brightnesssetup = ConfigSubsection()
14 config.plugins.brightnesssetup.brightness = ConfigSlider(default = 1, increment = 1, limits = (0,15))
15 config.plugins.brightnesssetup.brightnessstandby = ConfigSlider(default = 1, increment = 1, limits = (0,15))
16 config.plugins.brightnesssetup.brightnessdeepstandby = ConfigSlider(default = 5, increment = 1, limits = (0,15))
17 config.plugins.brightnesssetup.blinkingtime = ConfigSlider(default = 5, increment = 1, limits = (0,15))
24 class LEDBrightnessSetupStandby:
27 config.misc.standbyCounter.addNotifier(self.standbyBegin, initial_call = False)
29 def standbyBegin(self, configElement):
30 from Screens.Standby import inStandby
31 inStandby.onClose.append(self.StandbyEnd)
32 brightness = int(config.plugins.brightnesssetup.brightnessstandby.value)
33 eDBoxLCD.getInstance().setLED(brightness ,LEDOption.BRIGHTNESS)
36 brightness = int(config.plugins.brightnesssetup.brightness.value)
37 eDBoxLCD.getInstance().setLED(brightness ,LEDOption.BRIGHTNESS)
39 def initLEDSetup(self):
40 brightness = int(config.plugins.brightnesssetup.brightness.value)
41 brightnessstandby = int(config.plugins.brightnesssetup.brightnessdeepstandby.value)
42 blinkingtime = int(config.plugins.brightnesssetup.blinkingtime.value)
43 eDBoxLCD.getInstance().setLED(brightness ,LEDOption.BRIGHTNESS)
44 eDBoxLCD.getInstance().setLED(brightnessstandby ,LEDOption.DEEPSTANDBY)
45 eDBoxLCD.getInstance().setLED(blinkingtime ,LEDOption.BLINKINGTIME)
47 class LEDBrightnessSetup(Screen,ConfigListScreen):
49 <screen name="LEDBrightnessSetup" position="center,center" size="560,300" title="LED Brightness Setup">
50 <ePixmap pixmap="Vu_HD/buttons/red.png" position="10,10" size="25,25" alphatest="on" />
51 <ePixmap pixmap="Vu_HD/buttons/green.png" position="195,10" size="25,25" alphatest="on" />
52 <ePixmap pixmap="Vu_HD/buttons/yellow.png" position="380,10" size="25,25" alphatest="on" />
53 <widget source="key_red" render="Label" position="30,10" zPosition="1" size="140,25" font="Regular;20" halign="center" valign="center" transparent="1" />
54 <widget source="key_green" render="Label" position="215,10" zPosition="1" size="140,25" font="Regular;20" halign="center" valign="center" transparent="1" />
55 <widget source="key_yellow" render="Label" position="400,10" zPosition="1" size="140,25" font="Regular;20" halign="center" valign="center" transparent="1" />
56 <widget name="config" zPosition="2" position="5,50" size="550,200" scrollbarMode="showOnDemand" transparent="1"/>
57 <widget name="current_entry" position="130,240" size="300,30" font="Regular;18" halign="center" valign="center"/>
60 def __init__(self,session):
61 Screen.__init__(self,session)
62 self.session = session
63 self["shortcuts"] = ActionMap(["ShortcutActions", "SetupActions" ],
66 "cancel": self.keyCancel,
67 "red": self.keyCancel,
68 "green": self.keySave,
69 "yellow": self.keyDefault,
72 ConfigListScreen.__init__(self, self.list,session = self.session)
73 self["key_red"] = StaticText(_("Cancel"))
74 self["key_green"] = StaticText(_("Ok"))
75 self["key_yellow"] = StaticText(_("Defalut"))
76 self["current_entry"]=Label("")
78 self.onLayoutFinish.append(self.checkModel)
79 self.checkModelTimer = eTimer()
80 self.checkModelTimer.callback.append(self.invalidmodel)
81 if not self.displayText in self["config"].onSelectionChanged:
82 self["config"].onSelectionChanged.append(self.displayText)
84 def displayText(self):
85 if self["config"].getCurrent() == self.brightness:
86 self["current_entry"].setText("Touch LED Brightness at Normal state")
87 elif self["config"].getCurrent() == self.brightness_standby:
88 self["current_entry"].setText("Touch LED Brightness at Standby")
89 elif self["config"].getCurrent() == self.brightness_deepstandby:
90 self["current_entry"].setText("Touch LED Brightness at Deep Standby")
91 elif self["config"].getCurrent() == self.blinkingtime:
92 self["current_entry"].setText("Touch LED Blinking time")
93 self.setCurrentValue()
96 if fileExists("/proc/stb/info/vumodel"):
97 vumodel = open("/proc/stb/info/vumodel")
98 info=vumodel.read().strip()
107 def checkModel(self):
108 if not self.getModel():
109 self.checkModelTimer.start(100,True)
111 def invalidmodel(self):
112 self.session.openWithCallback(self.close, MessageBox, _("This Plugin only support for ULTIMO"), MessageBox.TYPE_ERROR, timeout = 30)
114 def createSetup(self):
116 self.brightness = getConfigListEntry(_("Normal state"), config.plugins.brightnesssetup.brightness)
117 self.brightness_standby = getConfigListEntry(_("Standby"), config.plugins.brightnesssetup.brightnessstandby)
118 self.brightness_deepstandby = getConfigListEntry(_("Deep Standby"), config.plugins.brightnesssetup.brightnessdeepstandby)
119 self.blinkingtime = getConfigListEntry(_("Blinking time"), config.plugins.brightnesssetup.blinkingtime)
120 self.list.append( self.brightness )
121 self.list.append( self.brightness_standby )
122 self.list.append( self.brightness_deepstandby )
123 self.list.append( self.blinkingtime )
124 self["config"].list = self.list
125 self["config"].l.setList(self.list)
127 def setCurrentValue(self):
128 if self["config"].getCurrent() == self.blinkingtime:
129 eDBoxLCD.getInstance().setLED(1 ,LEDOption.BRIGHTNESS)
130 eDBoxLCD.getInstance().setLED(self["config"].getCurrent()[1].value ,LEDOption.BLINKINGTIME)
132 eDBoxLCD.getInstance().setLED(self["config"].getCurrent()[1].value ,LEDOption.BRIGHTNESS)
135 ConfigListScreen.keyLeft(self)
136 self.setCurrentValue()
139 ConfigListScreen.keyRight(self)
140 self.setCurrentValue()
142 def saveLEDSetup(self):
143 brightness = config.plugins.brightnesssetup.brightness.value
144 brightnessstandby = config.plugins.brightnesssetup.brightnessdeepstandby.value
145 blinkingtime = config.plugins.brightnesssetup.blinkingtime.value
146 eDBoxLCD.getInstance().setLED(brightness ,LEDOption.BRIGHTNESS)
147 eDBoxLCD.getInstance().setLED(brightnessstandby ,LEDOption.DEEPSTANDBY)
148 eDBoxLCD.getInstance().setLED(blinkingtime ,LEDOption.BLINKINGTIME)
151 if self["config"].isChanged():
153 ConfigListScreen.keySave(self)
155 def keyDefault(self):
156 config.plugins.brightnesssetup.brightness.setValue(1)
157 config.plugins.brightnesssetup.brightnessstandby.setValue(1)
158 config.plugins.brightnesssetup.brightnessdeepstandby.setValue(5)
159 config.plugins.brightnesssetup.blinkingtime.setValue(5)
160 for entry in self["config"].getList():
161 self["config"].l.invalidateEntry(self["config"].getList().index(entry))
163 def cancelConfirm(self, result):
166 for x in self["config"].list:
171 def main(session, **kwargs):
172 session.open(LEDBrightnessSetup)
174 def Plugins(**kwargs):
175 return [PluginDescriptor(name=_("LED Brightness Setup"), description="Setup LED brightness and blink interval", where = PluginDescriptor.WHERE_PLUGINMENU, needsRestart = False, fnc=main)]
177 ledbrightnesssetupstandby = LEDBrightnessSetupStandby()