Screens/-{LanguageSelection.py, NetworkSetup.py, RdsDisplay.py, VirtualKeyBoard.py...
authoracid-burn <acidburn@opendreambox.org>
Wed, 11 Nov 2009 09:38:38 +0000 (10:38 +0100)
committeracid-burn <acidburn@opendreambox.org>
Wed, 11 Nov 2009 09:38:38 +0000 (10:38 +0100)
- dynamically calc the icon width inside VirtualKeyboard based on the provided icon.

lib/python/Screens/LanguageSelection.py [changed mode: 0644->0755]
lib/python/Screens/NetworkSetup.py
lib/python/Screens/RdsDisplay.py [changed mode: 0644->0755]
lib/python/Screens/VirtualKeyBoard.py

old mode 100644 (file)
new mode 100755 (executable)
index 082daa5..fce10ac
@@ -13,14 +13,14 @@ def _cached(x):
 
 from Screens.Rc import Rc
 
-from Tools.Directories import resolveFilename, SCOPE_SKIN_IMAGE
+from Tools.Directories import resolveFilename, SCOPE_CURRENT_SKIN
 
 from Tools.LoadPixmap import LoadPixmap
 
 def LanguageEntryComponent(file, name, index):
-       png = LoadPixmap(resolveFilename(SCOPE_SKIN_IMAGE, "countries/" + file + ".png"))
+       png = LoadPixmap(resolveFilename(SCOPE_CURRENT_SKIN, "countries/" + file + ".png"))
        if png == None:
-               png = LoadPixmap(resolveFilename(SCOPE_SKIN_IMAGE, "countries/missing.png"))
+               png = LoadPixmap(resolveFilename(SCOPE_CURRENT_SKIN, "countries/missing.png"))
        res = (index, name, png)
        return res
 
index ec2bafe..92416a3 100755 (executable)
@@ -6,6 +6,7 @@ from Screens.VirtualKeyBoard import VirtualKeyBoard
 from Screens.HelpMenu import HelpableScreen
 from Components.Network import iNetwork
 from Components.Sources.StaticText import StaticText
+from Components.Sources.Boolean import Boolean
 from Components.Label import Label,MultiColorLabel
 from Components.Pixmap import Pixmap,MultiPixmap
 from Components.MenuList import MenuList
@@ -14,7 +15,7 @@ from Components.ConfigList import ConfigListScreen
 from Components.PluginComponent import plugins
 from Components.MultiContent import MultiContentEntryText, MultiContentEntryPixmapAlphaTest
 from Components.ActionMap import ActionMap, NumberActionMap, HelpableActionMap
-from Tools.Directories import resolveFilename, SCOPE_PLUGINS, SCOPE_SKIN_IMAGE
+from Tools.Directories import resolveFilename, SCOPE_PLUGINS, SCOPE_CURRENT_SKIN
 from Tools.LoadPixmap import LoadPixmap
 from Plugins.Plugin import PluginDescriptor
 from enigma import eTimer, ePoint, eSize, RT_HALIGN_LEFT, eListboxPythonMultiContent, gFont
@@ -36,14 +37,14 @@ def InterfaceEntryComponent(index,name,default,active ):
        num_configured_if = len(iNetwork.getConfiguredAdapters())
        if num_configured_if >= 2:
                if default is True:
-                       png = LoadPixmap(resolveFilename(SCOPE_SKIN_IMAGE, "skin_default/buttons/button_blue.png"))
+                       png = LoadPixmap(cached=True, path=resolveFilename(SCOPE_CURRENT_SKIN, "skin_default/buttons/button_blue.png"))
                if default is False:
-                       png = LoadPixmap(resolveFilename(SCOPE_SKIN_IMAGE, "skin_default/buttons/button_blue_off.png"))
+                       png = LoadPixmap(cached=True, path=resolveFilename(SCOPE_CURRENT_SKIN, "skin_default/buttons/button_blue_off.png"))
                res.append(MultiContentEntryPixmapAlphaTest(pos=(10, 5), size=(25, 25), png = png))
        if active is True:
-               png2 = LoadPixmap(resolveFilename(SCOPE_SKIN_IMAGE, "skin_default/icons/lock_on.png"))
+               png2 = LoadPixmap(cached=True, path=resolveFilename(SCOPE_CURRENT_SKIN, "skin_default/icons/lock_on.png"))
        if active is False:
-               png2 = LoadPixmap(resolveFilename(SCOPE_SKIN_IMAGE, "skin_default/icons/lock_error.png"))
+               png2 = LoadPixmap(cached=True, path=resolveFilename(SCOPE_CURRENT_SKIN, "skin_default/icons/lock_error.png"))
        res.append(MultiContentEntryPixmapAlphaTest(pos=(40, 1), size=(25, 25), png = png2))
        return res
 
@@ -319,11 +320,6 @@ class AdapterSetup(Screen, ConfigListScreen, HelpableScreen):
                        "blue": (self.KeyBlue, _("open nameserver configuration")),
                        })
 
-               self["VirtualKB"] = HelpableActionMap(self, "VirtualKeyboardActions",
-                       {
-                       "showVirtualKeyboard": (self.KeyText, [_("open virtual keyboard input help"),_("* Only available when entering hidden SSID or network key")] ),
-                       })
-
                self["actions"] = NumberActionMap(["SetupActions"],
                {
                        "ok": self.ok,
@@ -355,9 +351,10 @@ class AdapterSetup(Screen, ConfigListScreen, HelpableScreen):
                self["key_red"] = StaticText(_("Cancel"))
                self["key_blue"] = StaticText(_("Edit DNS"))
 
-               self["VKeyIcon"] = Pixmap()
+               self["VKeyIcon"] = Boolean(False)
                self["HelpWindow"] = Pixmap()
-
+               self["HelpWindow"].hide()
+               
        def layoutFinished(self):
                self["DNS1"].setText(self.primaryDNS.getText())
                self["DNS2"].setText(self.secondaryDNS.getText())
@@ -386,9 +383,6 @@ class AdapterSetup(Screen, ConfigListScreen, HelpableScreen):
                        self["Gateway"].setText("")
                        self["Gatewaytext"].setText("")
                self["Adapter"].setText(iNetwork.getFriendlyAdapterName(self.iface))
-               self["VKeyIcon"].hide()
-               self["VirtualKB"].setEnabled(False)
-               self["HelpWindow"].hide()
 
        def createConfig(self):
                self.InterfaceEntry = None
@@ -518,30 +512,10 @@ class AdapterSetup(Screen, ConfigListScreen, HelpableScreen):
 
                self["config"].list = self.list
                self["config"].l.setList(self.list)
-               if not self.selectionChanged in self["config"].onSelectionChanged:
-                       self["config"].onSelectionChanged.append(self.selectionChanged)
 
        def KeyBlue(self):
                self.session.openWithCallback(self.NameserverSetupClosed, NameserverSetup)
 
-       def KeyText(self):
-               if self.iface == "wlan0" or self.iface == "ath0" :
-                       if self["config"].getCurrent() == self.hiddenSSID:
-                               if config.plugins.wlan.essid.value == 'hidden...':
-                                       self.session.openWithCallback(self.VirtualKeyBoardSSIDCallback, VirtualKeyBoard, title = (_("Enter WLAN network name/SSID:")), text = config.plugins.wlan.essid.value)
-                       if self["config"].getCurrent() == self.encryptionKey:
-                               self.session.openWithCallback(self.VirtualKeyBoardKeyCallback, VirtualKeyBoard, title = (_("Enter WLAN passphrase/key:")), text = config.plugins.wlan.encryption.psk.value)
-
-       def VirtualKeyBoardSSIDCallback(self, callback = None):
-               if callback is not None and len(callback):
-                       config.plugins.wlan.hiddenessid.setValue(callback)
-                       self["config"].invalidate(self.hiddenSSID)
-
-       def VirtualKeyBoardKeyCallback(self, callback = None):
-               if callback is not None and len(callback):
-                       config.plugins.wlan.encryption.psk.setValue(callback)
-                       self["config"].invalidate(self.encryptionKey)
-
        def newConfig(self):
                if self["config"].getCurrent() == self.InterfaceEntry:
                        self.createSetup()
@@ -565,24 +539,6 @@ class AdapterSetup(Screen, ConfigListScreen, HelpableScreen):
                ConfigListScreen.keyRight(self)
                self.newConfig()
 
-       def selectionChanged(self):
-               current = self["config"].getCurrent()
-               if current == self.hiddenSSID and config.plugins.wlan.essid.value == 'hidden...':
-                       helpwindowpos = self["HelpWindow"].getPosition()
-                       if current[1].help_window.instance is not None:
-                               current[1].help_window.instance.move(ePoint(helpwindowpos[0],helpwindowpos[1]))
-                               self["VKeyIcon"].show()
-                               self["VirtualKB"].setEnabled(True)
-               elif current == self.encryptionKey and config.plugins.wlan.encryption.enabled.value:
-                       helpwindowpos = self["HelpWindow"].getPosition()
-                       if current[1].help_window.instance is not None:
-                               current[1].help_window.instance.move(ePoint(helpwindowpos[0],helpwindowpos[1]))
-                               self["VKeyIcon"].show()
-                               self["VirtualKB"].setEnabled(True)
-               else:
-                       self["VKeyIcon"].hide()
-                       self["VirtualKB"].setEnabled(False)
-
        def ok(self):
                current = self["config"].getCurrent()
                if current == self.hiddenSSID and config.plugins.wlan.essid.value == 'hidden...':
old mode 100644 (file)
new mode 100755 (executable)
index 36d4590..0b99584
@@ -4,7 +4,7 @@ from Components.ActionMap import NumberActionMap
 from Components.ServiceEventTracker import ServiceEventTracker
 from Components.Pixmap import Pixmap
 from Components.Label import Label
-from Tools.Directories import resolveFilename, SCOPE_SKIN_IMAGE
+from Tools.Directories import resolveFilename, SCOPE_CURRENT_SKIN
 from Tools.LoadPixmap import LoadPixmap
 
 class RdsInfoDisplay(Screen):
@@ -122,10 +122,10 @@ class RassInteractive(Screen):
                        9 : self["subpages_9"] }
 
                self.subpage_png = {
-                       1 : LoadPixmap(resolveFilename(SCOPE_SKIN_IMAGE, "skin_default/icons/rass_page1.png")),
-                       2 : LoadPixmap(resolveFilename(SCOPE_SKIN_IMAGE, "skin_default/icons/rass_page2.png")),
-                       3 : LoadPixmap(resolveFilename(SCOPE_SKIN_IMAGE, "skin_default/icons/rass_page3.png")),
-                       4 : LoadPixmap(resolveFilename(SCOPE_SKIN_IMAGE, "skin_default/icons/rass_page4.png")) }
+                       1 : LoadPixmap(resolveFilename(SCOPE_CURRENT_SKIN, "skin_default/icons/rass_page1.png")),
+                       2 : LoadPixmap(resolveFilename(SCOPE_CURRENT_SKIN, "skin_default/icons/rass_page2.png")),
+                       3 : LoadPixmap(resolveFilename(SCOPE_CURRENT_SKIN, "skin_default/icons/rass_page3.png")),
+                       4 : LoadPixmap(resolveFilename(SCOPE_CURRENT_SKIN, "skin_default/icons/rass_page4.png")) }
 
                self.current_page=0;
                self.current_subpage=0;
index 19500ed..7846e4b 100755 (executable)
@@ -7,26 +7,25 @@ from Components.MenuList import MenuList
 from Components.MultiContent import MultiContentEntryText, MultiContentEntryPixmapAlphaTest
 from enigma import eListboxPythonMultiContent, gFont, RT_HALIGN_CENTER, RT_VALIGN_CENTER
 from Screen import Screen
-from Tools.Directories import resolveFilename, SCOPE_SKIN_IMAGE
+from Tools.Directories import resolveFilename, SCOPE_CURRENT_SKIN
 from Tools.LoadPixmap import LoadPixmap
 
 class VirtualKeyBoardList(MenuList):
        def __init__(self, list, enableWrapAround=False):
                MenuList.__init__(self, list, enableWrapAround, eListboxPythonMultiContent)
-               self.l.setFont(0, gFont("Regular", 22))
+               self.l.setFont(0, gFont("Regular", 28))
                self.l.setItemHeight(45)
 
 def VirtualKeyBoardEntryComponent(keys, selectedKey,shiftMode=False):
-       key_backspace = LoadPixmap(cached=True, path=resolveFilename(SCOPE_SKIN_IMAGE, "skin_default/vkey_backspace.png"))
-       key_bg = LoadPixmap(cached=True, path=resolveFilename(SCOPE_SKIN_IMAGE, "skin_default/vkey_bg.png"))
-       key_clr = LoadPixmap(cached=True, path=resolveFilename(SCOPE_SKIN_IMAGE, "skin_default/vkey_clr.png"))
-       key_esc = LoadPixmap(cached=True, path=resolveFilename(SCOPE_SKIN_IMAGE, "skin_default/vkey_esc.png"))
-       key_ok = LoadPixmap(cached=True, path=resolveFilename(SCOPE_SKIN_IMAGE, "skin_default/vkey_ok.png"))
-       key_sel = LoadPixmap(cached=True, path=resolveFilename(SCOPE_SKIN_IMAGE, "skin_default/vkey_sel.png"))
-       key_shift = LoadPixmap(cached=True, path=resolveFilename(SCOPE_SKIN_IMAGE, "skin_default/vkey_shift.png"))
-       key_shift_sel = LoadPixmap(cached=True, path=resolveFilename(SCOPE_SKIN_IMAGE, "skin_default/vkey_shift_sel.png"))
-       key_space = LoadPixmap(cached=True, path=resolveFilename(SCOPE_SKIN_IMAGE, "skin_default/vkey_space.png"))
-       
+       key_backspace = LoadPixmap(cached=True, path=resolveFilename(SCOPE_CURRENT_SKIN, "skin_default/vkey_backspace.png"))
+       key_bg = LoadPixmap(cached=True, path=resolveFilename(SCOPE_CURRENT_SKIN, "skin_default/vkey_bg.png"))
+       key_clr = LoadPixmap(cached=True, path=resolveFilename(SCOPE_CURRENT_SKIN, "skin_default/vkey_clr.png"))
+       key_esc = LoadPixmap(cached=True, path=resolveFilename(SCOPE_CURRENT_SKIN, "skin_default/vkey_esc.png"))
+       key_ok = LoadPixmap(cached=True, path=resolveFilename(SCOPE_CURRENT_SKIN, "skin_default/vkey_ok.png"))
+       key_sel = LoadPixmap(cached=True, path=resolveFilename(SCOPE_CURRENT_SKIN, "skin_default/vkey_sel.png"))
+       key_shift = LoadPixmap(cached=True, path=resolveFilename(SCOPE_CURRENT_SKIN, "skin_default/vkey_shift.png"))
+       key_shift_sel = LoadPixmap(cached=True, path=resolveFilename(SCOPE_CURRENT_SKIN, "skin_default/vkey_shift_sel.png"))
+       key_space = LoadPixmap(cached=True, path=resolveFilename(SCOPE_CURRENT_SKIN, "skin_default/vkey_space.png"))
        res = [ (keys) ]
        
        x = 0
@@ -36,33 +35,45 @@ def VirtualKeyBoardEntryComponent(keys, selectedKey,shiftMode=False):
        else:
                shiftkey_png = key_shift
        for key in keys:
+               width = None
                if key == "EXIT":
-                       res.append(MultiContentEntryPixmapAlphaTest(pos=(x, 0), size=(45, 45), png=key_esc))
+                       width = key_esc.size().width()
+                       res.append(MultiContentEntryPixmapAlphaTest(pos=(x, 0), size=(width, 45), png=key_esc))
                elif key == "BACKSPACE":
-                       res.append(MultiContentEntryPixmapAlphaTest(pos=(x, 0), size=(45, 45), png=key_backspace))
+                       width = key_backspace.size().width()
+                       res.append(MultiContentEntryPixmapAlphaTest(pos=(x, 0), size=(width, 45), png=key_backspace))
                elif key == "CLEAR":
-                       res.append(MultiContentEntryPixmapAlphaTest(pos=(x, 0), size=(45, 45), png=key_clr))
+                       width = key_clr.size().width()
+                       res.append(MultiContentEntryPixmapAlphaTest(pos=(x, 0), size=(width, 45), png=key_clr))
                elif key == "SHIFT":
-                       res.append(MultiContentEntryPixmapAlphaTest(pos=(x, 0), size=(45, 45), png=shiftkey_png))
+                       width = shiftkey_png.size().width()
+                       res.append(MultiContentEntryPixmapAlphaTest(pos=(x, 0), size=(width, 45), png=shiftkey_png))
                elif key == "SPACE":
-                       res.append(MultiContentEntryPixmapAlphaTest(pos=(x, 0), size=(45, 45), png=key_space))
+                       width = key_space.size().width()
+                       res.append(MultiContentEntryPixmapAlphaTest(pos=(x, 0), size=(width, 45), png=key_space))
                elif key == "OK":
-                       res.append(MultiContentEntryPixmapAlphaTest(pos=(x, 0), size=(45, 45), png=key_ok))
+                       width = key_ok.size().width()
+                       res.append(MultiContentEntryPixmapAlphaTest(pos=(x, 0), size=(width, 45), png=key_ok))
                #elif key == "<-":
                #       res.append(MultiContentEntryPixmapAlphaTest(pos=(x, 0), size=(45, 45), png=key_left))
                #elif key == "->":
                #       res.append(MultiContentEntryPixmapAlphaTest(pos=(x, 0), size=(45, 45), png=key_right))
                
                else:
+                       width = key_bg.size().width()
                        res.extend((
-                               MultiContentEntryPixmapAlphaTest(pos=(x, 0), size=(45, 45), png=key_bg),
-                               MultiContentEntryText(pos=(x, 0), size=(45, 45), font=0, text=key.encode("utf-8"), flags=RT_HALIGN_CENTER | RT_VALIGN_CENTER)
+                               MultiContentEntryPixmapAlphaTest(pos=(x, 0), size=(width, 45), png=key_bg),
+                               MultiContentEntryText(pos=(x, 0), size=(width, 45), font=0, text=key.encode("utf-8"), flags=RT_HALIGN_CENTER | RT_VALIGN_CENTER)
                        ))
                
                if selectedKey == count:
-                       res.append(MultiContentEntryPixmapAlphaTest(pos=(x, 0), size=(45, 45), png=key_sel))
-               
-               x += 45
+                       width = key_sel.size().width()
+                       res.append(MultiContentEntryPixmapAlphaTest(pos=(x, 0), size=(width, 45), png=key_sel))
+
+               if width is not None:
+                       x += width
+               else:
+                       x += 45
                count += 1
        
        return res