From ea2f1192f5595f67aa225f90767a3037b2c119b1 Mon Sep 17 00:00:00 2001 From: kos Date: Fri, 27 Jan 2012 17:16:26 +0900 Subject: [PATCH] modify skin of plugins. --- .../Plugins/Extensions/VuplusEvent/plugin.py | 33 ++- .../Plugins/Extensions/WebBrowser/Makefile.am | 2 + .../Plugins/Extensions/WebBrowser/desc/Makefile.am | 3 + .../Extensions/WebBrowser/desc/rc_wb_desc.png | Bin 0 -> 72279 bytes .../Extensions/WebBrowser/mp_wb_background.png | Bin 0 -> 3656 bytes .../Extensions/WebBrowser/mp_wb_buttons.png | Bin 0 -> 534 bytes lib/python/Plugins/Extensions/WebBrowser/plugin.py | 45 ++-- .../Plugins/SystemPlugins/Blindscan/plugin.py | 22 +- .../Plugins/SystemPlugins/CrashReport/plugin.py | 47 ++--- .../Plugins/SystemPlugins/FPGAUpgrade/plugin.py | 34 ++- .../Plugins/SystemPlugins/Fancontrol/plugin.py | 19 +- .../SystemPlugins/FirmwareUpgrade/plugin.py | 53 ++--- lib/python/Plugins/SystemPlugins/HDMICEC/plugin.py | 41 ++-- .../SystemPlugins/LEDBrightnessSetup/plugin.py | 23 ++- .../SystemPlugins/ManualFancontrol/plugin.py | 21 +- .../SystemPlugins/RemoteControlCode/plugin.py | 47 +++-- .../Plugins/SystemPlugins/UI3DSetup/plugin.py | 17 +- .../SystemPlugins/UIPositionSetup/plugin.py | 46 +++-- .../SystemPlugins/WirelessLanSetup/plugin.py | 228 +++++++-------------- 19 files changed, 284 insertions(+), 397 deletions(-) create mode 100644 lib/python/Plugins/Extensions/WebBrowser/desc/Makefile.am create mode 100644 lib/python/Plugins/Extensions/WebBrowser/desc/rc_wb_desc.png create mode 100644 lib/python/Plugins/Extensions/WebBrowser/mp_wb_background.png create mode 100644 lib/python/Plugins/Extensions/WebBrowser/mp_wb_buttons.png diff --git a/lib/python/Plugins/Extensions/VuplusEvent/plugin.py b/lib/python/Plugins/Extensions/VuplusEvent/plugin.py index 941fecb..1f03a99 100755 --- a/lib/python/Plugins/Extensions/VuplusEvent/plugin.py +++ b/lib/python/Plugins/Extensions/VuplusEvent/plugin.py @@ -30,29 +30,20 @@ GENUINE_MESSAGES={ } class VuplusAuthenticity(Screen, ConfigListScreen): - def __init__(self,session): - if session.desktop.size().width() > 720: - self.skin = """ - - - - - - - - - """ + skin = """ + + + + + + - else: - self.skin=""" - - - - - """ + + """ + def __init__(self,session): Screen.__init__(self,session) self.session = session self["shortcuts"] = ActionMap(["ShortcutActions", "SetupActions" ], @@ -161,12 +152,12 @@ class VuplusAuthenticity(Screen, ConfigListScreen): class MessageBoxGenuine(MessageBox): skin = """ - + - + # this should be factored out into some helper code, but currently demonstrates applets. from enigma import eSize, ePoint diff --git a/lib/python/Plugins/Extensions/WebBrowser/Makefile.am b/lib/python/Plugins/Extensions/WebBrowser/Makefile.am index 11f2495..773ae06 100755 --- a/lib/python/Plugins/Extensions/WebBrowser/Makefile.am +++ b/lib/python/Plugins/Extensions/WebBrowser/Makefile.am @@ -3,6 +3,8 @@ installdir = $(pkglibdir)/python/Plugins/Extensions/WebBrowser SUBDIRS = meta keymap install_PYTHON = \ + mp_wb_background.png \ + mp_wb_buttons.png \ __init__.py \ plugin.py diff --git a/lib/python/Plugins/Extensions/WebBrowser/desc/Makefile.am b/lib/python/Plugins/Extensions/WebBrowser/desc/Makefile.am new file mode 100644 index 0000000..b3f8353 --- /dev/null +++ b/lib/python/Plugins/Extensions/WebBrowser/desc/Makefile.am @@ -0,0 +1,3 @@ +installdir = $(datadir)/enigma2 + +install_DATA = rc_wb_desc.png diff --git a/lib/python/Plugins/Extensions/WebBrowser/desc/rc_wb_desc.png b/lib/python/Plugins/Extensions/WebBrowser/desc/rc_wb_desc.png new file mode 100644 index 0000000000000000000000000000000000000000..921bf128173fbe2d60dc37641798daf2aa77d30b GIT binary patch literal 72279 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Μ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 literal 0 HcmV?d00001 diff --git a/lib/python/Plugins/Extensions/WebBrowser/mp_wb_background.png b/lib/python/Plugins/Extensions/WebBrowser/mp_wb_background.png new file mode 100644 index 0000000000000000000000000000000000000000..890c118ec8fbcf6b24abb3ae65b5876e8190f197 GIT binary patch literal 3656 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 aL?$r5<((GXf6WxYkMFnsE3bG7W&Z^V)Z%~u literal 0 HcmV?d00001 diff --git a/lib/python/Plugins/Extensions/WebBrowser/mp_wb_buttons.png b/lib/python/Plugins/Extensions/WebBrowser/mp_wb_buttons.png new file mode 100644 index 0000000000000000000000000000000000000000..bfa1e6102fc6701c6e6ce2f111db551c6ecef8d2 GIT binary patch literal 534 zcmeAS@N?(olHy`uVBq!ia0vp^iXb)z8<14*VpjrEoCO|{#S9GG!XV7ZFl&wkP>?0v z(btiIVPjv-@4(4GzCyA`kS_y6l_~>6Lo)-z&;LOBB?CjL0RzLU1O^7H84L{K`IF+0 zx-l>?_ISEDhE&{23b8%+;r}*OW@To<2O0soJ-NM0*r!`?R8&^}RZr1#VAxntu+jKM zT*{C7$p7k&?FCF%l@9nfJyJMu@ZiA>rLV*0q*YZ{8#Ay7aI5RH&qyxofBau_X@7<6 zA@{H8>C&aP(X&dI{-l^s4Y zFdjK{>S&YFi%-74{>!af9wB?EciFTF791NkZ#Ler;lXrv4h6BaGBqB~@B26XFE_G3 zR=^=Gw)Mvm$A+0RXEt_n?zeGZFf=q^6xJ7e^DmxFIn!l^1^X=biG7J~o>a&QRs!^boFyt=akR{0H;mJ6951J literal 0 HcmV?d00001 diff --git a/lib/python/Plugins/Extensions/WebBrowser/plugin.py b/lib/python/Plugins/Extensions/WebBrowser/plugin.py index 344f698..6d9e8ea 100644 --- a/lib/python/Plugins/Extensions/WebBrowser/plugin.py +++ b/lib/python/Plugins/Extensions/WebBrowser/plugin.py @@ -16,9 +16,15 @@ from urllib import quote, unquote_plus, unquote from urllib2 import Request, URLError, urlopen as urlopen2 from httplib import HTTPConnection, CannotSendRequest, BadStatusLine, HTTPException +from Screens.Screen import Screen +from Screens.ChoiceBox import ChoiceBox +from Screens.MessageBox import MessageBox +from Screens.DefaultWizard import DefaultWizard +from Screens.InfoBarGenerics import InfoBarNotifications + from Components.Button import Button from Components.Label import Label -from Components.Pixmap import Pixmap +from Components.Pixmap import Pixmap, MovingPixmap from Components.Language import language from Components.Sources.List import List from Components.ConfigList import ConfigListScreen @@ -27,13 +33,10 @@ from Components.ActionMap import NumberActionMap, ActionMap from Components.ServiceEventTracker import ServiceEventTracker from Components.config import config, ConfigSelection, getConfigListEntry, ConfigSlider -from Screens.Screen import Screen -from Screens.ChoiceBox import ChoiceBox -from Screens.MessageBox import MessageBox -from Screens.DefaultWizard import DefaultWizard -from Screens.InfoBarGenerics import InfoBarNotifications +from Tools.Directories import resolveFilename, SCOPE_PLUGINS +from Tools.LoadPixmap import LoadPixmap -from enigma import eTimer, eServiceReference, iPlayableService, fbClass, eRCInput, eConsoleAppContainer, getDesktop +from enigma import eTimer, eServiceReference, iPlayableService, fbClass, eRCInput, eConsoleAppContainer, getDesktop, ePicLoad HTTPConnection.debuglevel = 1 @@ -89,11 +92,13 @@ def wb_islock(): class VuPlayer(Screen, InfoBarNotifications): size = getDesktop(0).size() - position_params = size.width() > 750 and (620) or (480) + wb_bgr = resolveFilename(SCOPE_PLUGINS, "Extensions/WebBrowser/mp_wb_background.png") + wb_btn = resolveFilename(SCOPE_PLUGINS, "Extensions/WebBrowser/mp_wb_buttons.png") + position_params = size.width() > 750 and (620, wb_bgr, wb_btn) or (480, wb_bgr, wb_btn) skin = """ - - + + Gauge @@ -407,24 +412,24 @@ class VuPlayerService: conn.close() class BrowserLauncher(ConfigListScreen, Screen): - size = getDesktop(0).size() - position_params = size.width() > 750 and (309,498, 0,150, 0,455) or (618,320, 312,5, 0,180) skin= """ - - - + + + - - + + - - + + - """ % position_params + """ def __init__(self, session): Screen.__init__(self, session) + + self.session = session self.list = [] ConfigListScreen.__init__(self, self.list) diff --git a/lib/python/Plugins/SystemPlugins/Blindscan/plugin.py b/lib/python/Plugins/SystemPlugins/Blindscan/plugin.py index 93966bc..3ab1368 100644 --- a/lib/python/Plugins/SystemPlugins/Blindscan/plugin.py +++ b/lib/python/Plugins/SystemPlugins/Blindscan/plugin.py @@ -19,22 +19,20 @@ from Tools.Directories import resolveFilename, SCOPE_DEFAULTPARTITIONMOUNTDIR, S from enigma import eTimer, eDVBFrontendParametersSatellite, eComponentScan, eDVBSatelliteEquipmentControl, eDVBFrontendParametersTerrestrial, eDVBFrontendParametersCable, eConsoleAppContainer, eDVBResourceManager, getDesktop class Blindscan(ConfigListScreen, Screen): - size = getDesktop(0).size() - position_params = size.width() > 750 and ('center') or ('140') skin = """ - - - - + + + + - - - + + + - - + + - """ % position_params + """ def __init__(self, session): Screen.__init__(self, session) diff --git a/lib/python/Plugins/SystemPlugins/CrashReport/plugin.py b/lib/python/Plugins/SystemPlugins/CrashReport/plugin.py index 1a43319..f2fb0cb 100644 --- a/lib/python/Plugins/SystemPlugins/CrashReport/plugin.py +++ b/lib/python/Plugins/SystemPlugins/CrashReport/plugin.py @@ -79,45 +79,22 @@ def loadConfig(): g_default_machineinfo = False class CrashlogReportConfiguration(Screen, ConfigListScreen): - skin_list = {} - skin_list["hd"] = """ - - - - - - - Format:%H:%M - - - - - - - - - - - - - """ - skin_list["sd"] = """ - - - - - - - + skin = """ + + + + + + + + + - - + + """ - size = getDesktop(0).size() - skin = skin_list[size.width() > 750 and "hd" or "sd"] - def __init__(self, session): Screen.__init__(self, session) self.session = session diff --git a/lib/python/Plugins/SystemPlugins/FPGAUpgrade/plugin.py b/lib/python/Plugins/SystemPlugins/FPGAUpgrade/plugin.py index 87ecedf..5fd7a7e 100644 --- a/lib/python/Plugins/SystemPlugins/FPGAUpgrade/plugin.py +++ b/lib/python/Plugins/SystemPlugins/FPGAUpgrade/plugin.py @@ -122,16 +122,14 @@ class FPGAUpgradeManager: return str(self.fu.errmsg) class UpgradeStatus(Screen): - size = getDesktop(0).size() - position_params = size.width() > 750 and (' ') or ('backgroundColor=\"blue\"') skin = """ - + - - + + - """ % position_params + """ def __init__(self, session, parent, timeout = 20): Screen.__init__(self,session) @@ -157,6 +155,8 @@ class UpgradeStatus(Screen): self.slider = Slider(0, 100) self["slider"] = self.slider + self.setTitle("FPGA Upgrade Status") + self.parent = parent self.timer_check_progress = eTimer() self.timer_check_progress.callback.append(self.callbackDoCheckProgress) @@ -211,22 +211,20 @@ class UpgradeStatus(Screen): self.close() class FPGAUpgrade(Screen): - size = getDesktop(0).size() - position_params = size.width() > 750 and ('center', 440) or ('120', 420) skin = """ - - - - + + + + - - - + + + - - + + - """ % position_params + """ def __init__(self, session): Screen.__init__(self, session) diff --git a/lib/python/Plugins/SystemPlugins/Fancontrol/plugin.py b/lib/python/Plugins/SystemPlugins/Fancontrol/plugin.py index e3d3c52..d28fe8e 100644 --- a/lib/python/Plugins/SystemPlugins/Fancontrol/plugin.py +++ b/lib/python/Plugins/SystemPlugins/Fancontrol/plugin.py @@ -18,14 +18,17 @@ config.plugins.fancontrols.fanontime = ConfigInteger(default = 5, limits = (1, 1 config.plugins.fancontrols.fanofftime = ConfigInteger(default = 60, limits = (1, 100)) class FancontrolConfiguration(Screen, ConfigListScreen): - skin = """ - - - - - - - """ + skin = """ + + + + + + + + + + """ def __init__(self, session): Screen.__init__(self, session) self.session = session diff --git a/lib/python/Plugins/SystemPlugins/FirmwareUpgrade/plugin.py b/lib/python/Plugins/SystemPlugins/FirmwareUpgrade/plugin.py index f506ee6..7834f06 100644 --- a/lib/python/Plugins/SystemPlugins/FirmwareUpgrade/plugin.py +++ b/lib/python/Plugins/SystemPlugins/FirmwareUpgrade/plugin.py @@ -210,26 +210,14 @@ class FirmwareUpgradeManager: return str(self.fu.errmsg) class UpgradeStatus(Screen): - ''' skin = """ - - - - - - - """ - ''' - size = getDesktop(0).size() - position_params = size.width() > 750 and (' ') or ('backgroundColor=\"blue\"') - skin = """ - + - - + + - """ % position_params + """ def __init__(self, session, parent, firmware, datafile, device): Screen.__init__(self,session) @@ -316,14 +304,15 @@ class UpgradeStatus(Screen): self.callback("Reboot now for a successful upgrade.", True) self.session.openWithCallback(self.cbConfirmExit, MessageBox, _("Do you want to remove binary data?"), MessageBox.TYPE_YESNO, timeout = 10, default = False) -class Filebrowser(Screen): +class FUFilebrowser(Screen): skin = """ - - - - + + + + - + + """ @@ -331,7 +320,7 @@ class Filebrowser(Screen): Screen.__init__(self, session) self.session = session - self["key_blue"] = StaticText(_("Download the firmware (latest)")) + self["key_blue"] = StaticText(_("Download")) self["status"] = StaticText(_(" ")) self["file_list"] = FileList("/", matchingPattern = "^.*") @@ -357,7 +346,7 @@ class Filebrowser(Screen): self.setTitle(firmware.upper() + " File Browser") def resetGUI(self): - self["status"].setText("Select to press OK, Exit to press Cancel.") + self["status"].setText("Select to press OK, Exit to press Cancel.\nPress the BLUE button to download the latest firmware.") def setCallback(self, func): self.callback = func @@ -545,14 +534,14 @@ class Filebrowser(Screen): class FirmwareUpgrade(Screen, ConfigListScreen): skin = """ - - + + - - + + - - + + """ @@ -664,7 +653,7 @@ class FirmwareUpgrade(Screen, ConfigListScreen): fbs.setCallback(self.cbFinishedUpgrade) def doFileOpen(self): - fbs = self.session.open(Filebrowser, self, self._item_firmware.value) + fbs = self.session.open(FUFilebrowser, self, self._item_firmware.value) fbs.setCallback(self.cbSetStatus) def keyLeft(self): @@ -677,6 +666,8 @@ class FirmwareUpgrade(Screen, ConfigListScreen): self.setupStatus() def keyRight(self): + if self.rebootLock: + return global fwlist if fwlist is None: return diff --git a/lib/python/Plugins/SystemPlugins/HDMICEC/plugin.py b/lib/python/Plugins/SystemPlugins/HDMICEC/plugin.py index 9603d14..329c85a 100755 --- a/lib/python/Plugins/SystemPlugins/HDMICEC/plugin.py +++ b/lib/python/Plugins/SystemPlugins/HDMICEC/plugin.py @@ -27,33 +27,22 @@ from os import system from Components.InputDevice import iInputDevices class HdmiCecPlugin(Screen,ConfigListScreen): - def __init__(self, session): - if session.desktop.size().width() > 720: - self.skin = """ - - - - - - - - - - - """ - else: - self.skin = """ - - - - - - - - - + skin = """ + + + + + + + + + + + - """ + + """ + def __init__(self, session): Screen.__init__(self, session) config.hdmicec.input_address = ConfigText(default = "0", visible_width = 50, fixed_size = False) config.hdmicec.input_value1 = ConfigText(default = "0", visible_width = 50, fixed_size = False) diff --git a/lib/python/Plugins/SystemPlugins/LEDBrightnessSetup/plugin.py b/lib/python/Plugins/SystemPlugins/LEDBrightnessSetup/plugin.py index f5cc4fc..9d29a46 100755 --- a/lib/python/Plugins/SystemPlugins/LEDBrightnessSetup/plugin.py +++ b/lib/python/Plugins/SystemPlugins/LEDBrightnessSetup/plugin.py @@ -57,17 +57,20 @@ class LEDSetup: ledsetup = LEDSetup() class LEDBrightnessSetup(Screen,ConfigListScreen): - skin = """ - - - - - - - - + skin = """ + + + + + + + + + + - """ + + """ def __init__(self,session): Screen.__init__(self,session) diff --git a/lib/python/Plugins/SystemPlugins/ManualFancontrol/plugin.py b/lib/python/Plugins/SystemPlugins/ManualFancontrol/plugin.py index 8a0be65..d38ed8c 100755 --- a/lib/python/Plugins/SystemPlugins/ManualFancontrol/plugin.py +++ b/lib/python/Plugins/SystemPlugins/ManualFancontrol/plugin.py @@ -9,15 +9,18 @@ from Plugins.SystemPlugins.ManualFancontrol.InstandbyOn import instandbyon import NavigationInstance class ManualFancontrol(Screen,ConfigListScreen): - skin = """ - - - - - - - - """ + skin = """ + + + + + + + + + + + """ def __init__(self,session): Screen.__init__(self,session) diff --git a/lib/python/Plugins/SystemPlugins/RemoteControlCode/plugin.py b/lib/python/Plugins/SystemPlugins/RemoteControlCode/plugin.py index 83df8b3..fccb6a6 100755 --- a/lib/python/Plugins/SystemPlugins/RemoteControlCode/plugin.py +++ b/lib/python/Plugins/SystemPlugins/RemoteControlCode/plugin.py @@ -39,14 +39,17 @@ class RemoteControlCodeInit: return False class RemoteControlCode(Screen,ConfigListScreen,RemoteControlCodeInit): - skin = """ - - - - - - - """ + skin = """ + + + + + + + + + + """ def __init__(self,session): Screen.__init__(self,session) @@ -114,21 +117,21 @@ class RemoteControlCode(Screen,ConfigListScreen,RemoteControlCodeInit): quitMainloop(3) class MessageBoxConfirmCode(MessageBox): - skin = """ - - - - - - - + skin = """ + + + + + + + # this should be factored out into some helper code, but currently demonstrates applets. from enigma import eSize, ePoint -orgwidth = self.instance.size().width() +orgwidth = self.instance.size().width() orgheight = self.instance.size().height() -orgpos = self.instance.position() -textsize = self["text"].getSize() +orgpos = self.instance.position() +textsize = self["text"].getSize() # y size still must be fixed in font stuff... textsize = (textsize[0] + 50, textsize[1] + 50) @@ -141,7 +144,6 @@ if (280 > wsizex): wsizex = 280 wsize = (wsizex, wsizey) - # resize self.instance.resize(eSize(*wsize)) @@ -157,8 +159,9 @@ self["list"].instance.resize(eSize(*listsize)) newwidth = wsize[0] newheight = wsize[1] self.instance.move(ePoint(orgpos.x() + (orgwidth - newwidth)/2, orgpos.y() + (orgheight - newheight)/2)) - - """ + + + """ def __init__(self, session, replytext_1="", replytext_2="", type = MessageBox.TYPE_YESNO, timeout = -1, close_on_any_key = False, default = True, enable_input = True, msgBoxID = None): self.replytext_1 = replytext_1 diff --git a/lib/python/Plugins/SystemPlugins/UI3DSetup/plugin.py b/lib/python/Plugins/SystemPlugins/UI3DSetup/plugin.py index 645b829..d5ce741 100755 --- a/lib/python/Plugins/SystemPlugins/UI3DSetup/plugin.py +++ b/lib/python/Plugins/SystemPlugins/UI3DSetup/plugin.py @@ -12,14 +12,17 @@ config.plugins.UI3DSetup.znorm = ConfigInteger(default = 0) config.plugins.UI3DSetup.setmode = ConfigSelection(choices = setmodelist, default = "mode1") class UI3DSetupScreen(Screen, ConfigListScreen): - skin = """ + skin = """ - - - - - - """ + + + + + + + + + """ def __init__(self, session): self.skin = UI3DSetupScreen.skin diff --git a/lib/python/Plugins/SystemPlugins/UIPositionSetup/plugin.py b/lib/python/Plugins/SystemPlugins/UIPositionSetup/plugin.py index 22b4170..25c7f92 100755 --- a/lib/python/Plugins/SystemPlugins/UIPositionSetup/plugin.py +++ b/lib/python/Plugins/SystemPlugins/UIPositionSetup/plugin.py @@ -46,19 +46,22 @@ class UIPositionSetupInit: uipositionsetupinit = UIPositionSetupInit() class UIPositionSetup(Screen, ConfigListScreen, UIPositionSetupInit): + skin = """ + + + " + + + + + + + """ def __init__(self,session): - size_w = session.desktop.size().width() - size_h = session.desktop.size().height() - xpos = (size_w-500)/2 - ypos = (size_h-300)/2 - self.skin="" - self.skin += "" - self.skin += "" - self.skin += "" - self.skin += "" - self.skin += "" - self.skin += "" - self.skin += "" + w,h = session.desktop.size().width(), session.desktop.size().height() + cw,ch = w/2, h/2 + # btn_red btn_green lb_red lb_green config + self.skin = self.skin % (w,h, cw-190,ch-110, cw+50,ch-110, cw-190,ch-110, cw+50,ch-110, cw-250,ch-50) Screen.__init__(self,session) self.session = session @@ -71,6 +74,7 @@ class UIPositionSetup(Screen, ConfigListScreen, UIPositionSetupInit): }, -2) self.list = [] ConfigListScreen.__init__(self, self.list,session = self.session) + self["key_red"] = StaticText(_("Cancel")) self["key_green"] = StaticText(_("Save")) self["current"] = StaticText(_(" ")) @@ -79,19 +83,19 @@ class UIPositionSetup(Screen, ConfigListScreen, UIPositionSetupInit): def createSetup(self): self.list = [] - left = config.plugins.UIPositionSetup.dst_left.value - width = config.plugins.UIPositionSetup.dst_width.value - top = config.plugins.UIPositionSetup.dst_top.value + left = config.plugins.UIPositionSetup.dst_left.value + width = config.plugins.UIPositionSetup.dst_width.value + top = config.plugins.UIPositionSetup.dst_top.value height = config.plugins.UIPositionSetup.dst_height.value - self.dst_left = ConfigSlider(default = left, increment = 5, limits = (0, 720)) - self.dst_width = ConfigSlider(default = width, increment = 5, limits = (0, 720)) - self.dst_top = ConfigSlider(default = top, increment = 5, limits = (0, 576)) + self.dst_left = ConfigSlider(default = left, increment = 5, limits = (0, 720)) + self.dst_width = ConfigSlider(default = width, increment = 5, limits = (0, 720)) + self.dst_top = ConfigSlider(default = top, increment = 5, limits = (0, 576)) self.dst_height = ConfigSlider(default = height, increment = 5, limits = (0, 576)) - self.dst_left_entry = getConfigListEntry(_("left"), self.dst_left) - self.dst_width_entry = getConfigListEntry(_("width"), self.dst_width) - self.dst_top_entry = getConfigListEntry(_("top"), self.dst_top) + self.dst_left_entry = getConfigListEntry(_("left"), self.dst_left) + self.dst_width_entry = getConfigListEntry(_("width"), self.dst_width) + self.dst_top_entry = getConfigListEntry(_("top"), self.dst_top) self.dst_height_entry = getConfigListEntry(_("height"), self.dst_height) self.list.append(self.dst_left_entry) diff --git a/lib/python/Plugins/SystemPlugins/WirelessLanSetup/plugin.py b/lib/python/Plugins/SystemPlugins/WirelessLanSetup/plugin.py index 3b6a214..f3e5920 100755 --- a/lib/python/Plugins/SystemPlugins/WirelessLanSetup/plugin.py +++ b/lib/python/Plugins/SystemPlugins/WirelessLanSetup/plugin.py @@ -29,37 +29,22 @@ from Tools.Directories import fileExists import time class WlanSelection(Screen,HelpableScreen): - def __init__(self, session): - if session.desktop.size().width() > 720: - self.skin = """ - - - - - - - Format:%H:%M - - - - - - - - - """ - else: - self.skin = """ - - - - - - - - + skin = """ + + + + + + + + + + + - """ + + """ + def __init__(self, session): Screen.__init__(self,session) HelpableScreen.__init__(self) self.mainmenu = self.getWlandevice() @@ -137,37 +122,22 @@ class WlanSelection(Screen,HelpableScreen): iNetwork.stopGetInterfacesConsole() class WlanSetup(Screen,HelpableScreen): - def __init__(self, session, ifaces): - if session.desktop.size().width() > 720: - self.skin = """ - - - - - - - Format:%H:%M - - - - - - - - - """ - else: - self.skin = """ - - - - - - - - + skin = """ + + + + + + + + + + + - """ + + """ + def __init__(self, session, ifaces): Screen.__init__(self, session) HelpableScreen.__init__(self) self.session = session @@ -322,47 +292,25 @@ wlanconfig.gateway = ConfigIP([0,0,0,0]) selectap = None class WlanConfig(Screen, ConfigListScreen, HelpableScreen): - def __init__(self, session, iface): - if session.desktop.size().width() > 720: - self.skin = """ - - - - - - - Format:%H:%M - - - - - - - - - - - - - - - """ - else: - self.skin = """ - - - - - - - + skin = """ + + + + + + + + + - """ + + """ + def __init__(self, session, iface): Screen.__init__(self,session) self.session = session self["key_red"] = StaticText(_("Close")) @@ -922,51 +870,30 @@ class WlanConfig(Screen, ConfigListScreen, HelpableScreen): self.wpaphraseconsole.kill(name) class WlanScanAp(Screen,HelpableScreen): - def __init__(self, session, iface): - if session.desktop.size().width() > 720: - self.skin = """ - - - - - - - Format:%H:%M - - - - - - - - - - - - - - - - """ - else: - self.skin = """ - - - - - - - - - - + skin = """ + + + + + + + + + + + + + + - - + + - """ + + """ + def __init__(self, session, iface): Screen.__init__(self,session) HelpableScreen.__init__(self) self.session = session @@ -1560,28 +1487,15 @@ class NetworkAdapterTest(Screen): callback(self.apState) class Wlanstatus(Screen): + skin = """ + + + + + + + """ def __init__(self, session,iface): - if session.desktop.size().width() > 720: - self.skin = """ - - - - - - - Format:%H:%M - - - - - """ - else: - self.skin = """ - - - - - """ Screen.__init__(self,session) self.session = session self.iface = iface -- 2.7.4