source: ipk/source.sh4/swapnetwork_webif/var/swap/extensions/WebInterface/WebIfConfig.py@ 14945

Last change on this file since 14945 was 4926, checked in by bonkel, 15 years ago

[WebIF] fix

File size: 3.9 KB
Line 
1Version = '$Header$';
2
3from __init__ import _
4
5from enigma import eListboxPythonMultiContent, gFont
6from Screens.Screen import Screen
7from Screens.MessageBox import MessageBox
8
9from Components.config import config, getConfigListEntry, ConfigSubsection, ConfigInteger, ConfigYesNo, ConfigText, ConfigSelection
10from Components.ConfigList import ConfigListScreen
11from Components.Sources.StaticText import StaticText
12from Components.MenuList import MenuList
13from Components.MultiContent import MultiContentEntryText
14
15from Components.ActionMap import ActionMap
16
17class WebIfConfigScreen(ConfigListScreen, Screen):
18 skin = """
19 <screen name="WebIfConfigScreen" position="center,center" size="560,400" title="Webinterface: Main Setup">
20 <ePixmap pixmap="skin_default/buttons/red.png" position="0,0" size="140,40" alphatest="on" />
21 <ePixmap pixmap="skin_default/buttons/green.png" position="140,0" size="140,40" alphatest="on" />
22 <widget source="key_red" render="Label" position="0,0" zPosition="1" size="140,40" font="Regular;20" halign="center" valign="center" backgroundColor="#9f1313" transparent="1" />
23 <widget source="key_green" render="Label" position="140,0" zPosition="1" size="140,40" font="Regular;20" halign="center" valign="center" backgroundColor="#1f771f" transparent="1" />
24 <widget name="config" position="5,50" size="550,360" scrollbarMode="showOnDemand" zPosition="1"/>
25 </screen>"""
26
27 def __init__(self, session, args=0):
28 Screen.__init__(self, session)
29
30
31 ConfigListScreen.__init__(self, [])
32 self.createSetup()
33
34 self["key_red"] = StaticText(_("Cancel"))
35 self["key_green"] = StaticText(_("OK"))
36 # SKIN Compat HACK!
37 self["key_yellow"] = StaticText("")
38 # EO SKIN Compat HACK!
39 self["setupActions"] = ActionMap(["SetupActions", "ColorActions"],
40 {
41 "red": self.cancel,
42 "green": self.save,
43 "save": self.save,
44 "cancel": self.cancel,
45 "ok": self.save,
46 }, -2)
47
48 self.onLayoutFinish.append(self.layoutFinished)
49
50 def keyLeft(self):
51 ConfigListScreen.keyLeft(self)
52 self.createSetup()
53
54 def keyRight(self):
55 ConfigListScreen.keyRight(self)
56 self.createSetup()
57
58 def createSetup(self):
59 list = [
60 getConfigListEntry(_("Start Webinterface"), config.plugins.Webinterface.enabled),
61 getConfigListEntry(_("Enable /media"), config.plugins.Webinterface.includemedia),
62 getConfigListEntry(_("Allow zapping via Webinterface"), config.plugins.Webinterface.allowzapping),
63 getConfigListEntry(_("Autowrite timer"), config.plugins.Webinterface.autowritetimer),
64 getConfigListEntry(_("Load movie-length"), config.plugins.Webinterface.loadmovielength),
65 getConfigListEntry(_("Enable HTTP Access"), config.plugins.Webinterface.http.enabled)
66 ]
67
68 if config.plugins.Webinterface.http.enabled.value == True:
69 sublist = [
70 getConfigListEntry(_("HTTP Port"), config.plugins.Webinterface.http.port),
71 getConfigListEntry(_("Enable HTTP Authentication"), config.plugins.Webinterface.http.auth)
72 ]
73
74 list.extend(sublist)
75
76 #list.append( getConfigListEntry(_("Enable HTTPS Access"), config.plugins.Webinterface.https.enabled) )
77
78 if config.plugins.Webinterface.https.enabled.value == True:
79 sublist = [
80 #getConfigListEntry(_("HTTPS Port"), config.plugins.Webinterface.https.port),
81 #getConfigListEntry(_("Enable HTTPS Authentication"), config.plugins.Webinterface.https.auth)
82 ]
83
84 list. extend(sublist)
85
86 #Auth for Streaming (127.0.0.1 Listener)
87 list.append(getConfigListEntry(_("Enable Streaming Authentication"), config.plugins.Webinterface.streamauth))
88
89 self["config"].list = list
90 self["config"].l.setList(list)
91
92 def layoutFinished(self):
93 self.setTitle(_("Webinterface: Main Setup"))
94
95 def save(self):
96 print "[Webinterface] Saving Configuration"
97 for x in self["config"].list:
98 x[1].save()
99 self.close(True, self.session)
100
101 def cancel(self):
102 print "[Webinterface] Cancel setup changes"
103 for x in self["config"].list:
104 x[1].cancel()
105 self.close(False, self.session)
Note: See TracBrowser for help on using the repository browser.