+from . import _
+
from Screens.Screen import Screen
from Screens.HelpMenu import HelpableScreen
from Screens.MessageBox import MessageBox
from Components.Label import Label
from Components.ScrollLabel import ScrollLabel
-from Components.ActionMap import NumberActionMap
+from Components.ActionMap import ActionMap
from Components.Sources.StaticText import StaticText
from twisted.web import client
+from enigma import gFont
from . import config
from Components.config import config
currentUrl = None
currentPage = None
+ currentFontSize = 20
def __init__(self, session, args = None):
#self.skin = CurlyTx.skin
self["key_blue"] = StaticText(_("Next"))
- self["actions"] = NumberActionMap(
- ["WizardActions", "ColorActions", "InputActions", "HelpActions"], {
+ self["actions"] = ActionMap(
+ ["WizardActions", "ColorActions", "InputActions"], {
"ok": self.close,
"back": self.close,
"up": self.pageUp,
}, -1)
self.loadHelp()
+ self.loadButtons()
self.loadUrl(config.plugins.CurlyTx.defaultPage.value)
+ self.onLayoutFinish.append(self.setTextFont)
def loadHelp(self):
self.helpList.append((
self["actions"], "HelpActions",
[("displayHelp", _("Show this help screen"))]))
+ def loadButtons(self):
+ pageCount = len(config.plugins.CurlyTx.pages)
+ if pageCount == 0:
+ self["key_green"].setText("")
+ self["key_yellow"].setText("")
+ self["key_blue"].setText("")
+ elif pageCount == 1:
+ self["key_green"].setText(_("Reload"))
+ self["key_yellow"].setText("")
+ self["key_blue"].setText("")
+ else:
+ self["key_green"].setText(_("Reload"))
+ self["key_yellow"].setText(_("Prev"))
+ self["key_blue"].setText(_("Next"))
+
def pageUp(self):
self["text"].pageUp()
self.loadNoPage()
return
+ cfg = config.plugins.CurlyTx
+ pageCount = len(cfg.pages)
pageId = int(pageId)
- if pageId > (len(config.plugins.CurlyTx.pages) - 1):
- if len(config.plugins.CurlyTx.pages) == 0:
+ if pageId > (pageCount - 1):
+ if len(cfg.pages) == 0:
self.loadNoPage()
else:
self["text"].setText("Invalid page " + pageId);
return
- url = config.plugins.CurlyTx.pages[pageId].uri.value
- title = config.plugins.CurlyTx.pages[pageId].title.value
+ url = cfg.pages[pageId].uri.value
+ title = cfg.pages[pageId].title.value
+
+ if pageCount > 1:
+ title = "{0} [{1}/{2}]".format(title, pageId + 1, pageCount)
+
self.currentPage = pageId
self.currentUrl = url
+ self.currentFontSize = cfg.pages[pageId].fontSize.value
self.setTitle(title)
+ self.setTextFont()
self["text"].setText("Loading ...\n" + url);
client.getPage(url).addCallback(self.urlLoaded).addErrback(self.urlFailed, url)
+ def setTextFont(self):
+ if self["text"].long_text is not None:
+ self["text"].long_text.setFont(gFont("Console", self.currentFontSize))
+
def urlLoaded(self, html):
self["text"].setText(html)
self.session.openWithCallback(self.onSettingsChanged, CurlyTxSettings)
def onSettingsChanged(self):
+ self.loadButtons()
if len(config.plugins.CurlyTx.pages) == 0:
self.currentPage = None
self.loadUrl(self.currentPage)