1 from Screens.Screen import Screen
2 from Components.ConfigList import ConfigListScreen
3 from Components.config import config, getConfigListEntry, ConfigSubsection, ConfigInteger
4 from Components.ActionMap import ActionMap
5 from Components.Sources.StaticText import StaticText
6 from Plugins.Plugin import PluginDescriptor
7 from Screens.MessageBox import MessageBox
8 from Tools.Directories import fileExists
9 from enigma import eTimer
10 from ledsetup import LEDUpdate
12 config.plugins.brightnesssetup = ConfigSubsection()
13 config.plugins.brightnesssetup.brightness = ConfigInteger(default = 1, limits = (1,15))
14 config.plugins.brightnesssetup.brightnessstandby = ConfigInteger(default = 5, limits = (1,15))
15 config.plugins.brightnesssetup.brightnessdeepstandby = ConfigInteger(default = 5, limits = (1,15))
16 config.plugins.brightnesssetup.blinkingtime = ConfigInteger(default = 5, limits = (1,15))
23 class LEDBrightnessSetupStandby:
26 config.misc.standbyCounter.addNotifier(self.standbyBegin, initial_call = False)
28 def standbyBegin(self, configElement):
29 from Screens.Standby import inStandby
30 inStandby.onClose.append(self.StandbyEnd)
31 brightness = int(config.plugins.brightnesssetup.brightnessstandby.value)
32 LEDUpdate(brightness ,LEDOption.BRIGHTNESS)
35 brightness = int(config.plugins.brightnesssetup.brightness.value)
36 LEDUpdate(brightness ,LEDOption.BRIGHTNESS)
38 def initLEDSetup(self):
39 brightness = int(config.plugins.brightnesssetup.brightness.value)
40 brightnessstandby = int(config.plugins.brightnesssetup.brightnessdeepstandby.value)
41 blinkingtime = int(config.plugins.brightnesssetup.blinkingtime.value)
43 cmdList.append( (brightness,LEDOption.BRIGHTNESS) )
44 cmdList.append( (brightnessstandby,LEDOption.DEEPSTANDBY) )
45 cmdList.append( (blinkingtime,LEDOption.BLINKINGTIME) )
46 for ( value, option ) in cmdList:
47 ret = LEDUpdate(value ,option)
49 print "DEVICE OPEN ERROR"
52 class LEDBrightnessSetup(Screen,ConfigListScreen):
54 <screen name="LEDBrightnessSetup" position="center,center" size="560,250" title="LED Brightness Setup" >
55 <ePixmap pixmap="Vu_HD/buttons/red.png" position="10,10" size="25,25" alphatest="on" />
56 <ePixmap pixmap="Vu_HD/buttons/green.png" position="290,10" size="25,25" alphatest="on" />
57 <widget source="key_red" render="Label" position="40,10" zPosition="1" size="140,25" font="Regular;20" halign="center" valign="center" transparent="1" />
58 <widget source="key_green" render="Label" position="320,10" zPosition="1" size="140,25" font="Regular;20" halign="center" valign="center" transparent="1" />
59 <widget name="config" zPosition="2" position="5,50" size="550,200" scrollbarMode="showOnDemand" transparent="1" />
62 def __init__(self,session):
63 Screen.__init__(self,session)
64 self.session = session
65 self["shortcuts"] = ActionMap(["ShortcutActions", "SetupActions" ],
68 "cancel": self.keyCancel,
69 "red": self.keyCancel,
70 "green": self.keySave,
73 ConfigListScreen.__init__(self, self.list,session = self.session)
74 self["key_red"] = StaticText(_("Cancel"))
75 self["key_green"] = StaticText(_("Ok"))
77 self.onLayoutFinish.append(self.checkModel)
78 self.checkModelTimer = eTimer()
79 self.checkModelTimer.callback.append(self.invalidmodel)
82 if fileExists("/proc/stb/info/vumodel"):
83 vumodel = open("/proc/stb/info/vumodel")
84 info=vumodel.read().strip()
94 if not self.getModel():
95 self.checkModelTimer.start(100,True)
97 def invalidmodel(self):
98 self.session.openWithCallback(self.close, MessageBox, _("This Plugin only support for ULTIMO"), MessageBox.TYPE_ERROR, timeout = 30)
101 def createSetup(self):
103 self.brightness = getConfigListEntry(_("Touch LED brightness at normal state"), config.plugins.brightnesssetup.brightness)
104 self.brightness_standby = getConfigListEntry(_("Touch LED brightness at Standby"), config.plugins.brightnesssetup.brightnessstandby)
105 self.brightness_deepstandby = getConfigListEntry(_("Touch LED brightness at Deep Standby"), config.plugins.brightnesssetup.brightnessdeepstandby)
106 self.blinkingtime = getConfigListEntry(_("Touch LED blinking time"), config.plugins.brightnesssetup.blinkingtime)
107 self.list.append( self.brightness )
108 self.list.append( self.brightness_standby )
109 self.list.append( self.brightness_deepstandby )
110 self.list.append( self.blinkingtime )
111 self["config"].list = self.list
112 self["config"].l.setList(self.list)
114 def saveLEDSetup(self):
115 brightness = int(config.plugins.brightnesssetup.brightness.value)
116 brightnessstandby = int(config.plugins.brightnesssetup.brightnessdeepstandby.value)
117 blinkingtime = int(config.plugins.brightnesssetup.blinkingtime.value)
119 cmdList.append( (brightness,LEDOption.BRIGHTNESS) )
120 cmdList.append( (brightnessstandby,LEDOption.DEEPSTANDBY) )
121 cmdList.append( (blinkingtime,LEDOption.BLINKINGTIME) )
122 for ( value, option ) in cmdList:
123 ret = LEDUpdate(value ,option)
125 self.session.open(MessageBox, "DEVICE OPEN ERROR", type = MessageBox.TYPE_ERROR, timeout = 30)
130 ConfigListScreen.keySave(self)
132 def main(session, **kwargs):
133 session.open(LEDBrightnessSetup)
135 def Plugins(**kwargs):
136 return [PluginDescriptor(name=_("LED Brightness Setup"), description="Setup LED brightness and blink interval", where = PluginDescriptor.WHERE_PLUGINMENU, needsRestart = False, fnc=main)]
138 ledbrightnesssetupstandby = LEDBrightnessSetupStandby()