configurable text font size per page
authorChristian Weiske <cweiske@cweiske.de>
Mon, 21 Nov 2011 21:09:05 +0000 (22:09 +0100)
committerChristian Weiske <cweiske@cweiske.de>
Mon, 21 Nov 2011 21:09:05 +0000 (22:09 +0100)
ChangeLog
README.rst
src/CurlyTx.py
src/CurlyTxSettings.py
src/config.py

index d89e8f7..b240dfd 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -3,6 +3,7 @@
        * hide color buttons when no/only one page configured
        * hide default page config option when no page defined
        * show current page when multiple ones are defined: "2/6"
+       * configurable text font size per page
 
 2011-11-18  Christian Weiske  <cweiske@cweiske.de>
 
index f01642d..c783ef8 100644 (file)
@@ -12,7 +12,6 @@ Open issues
 ===========
 - page import via atom feed/opml
 - move mode to re-order pages
-- configurable text size per page
 - how to show clock in lcd?
 
 
index ae31a33..2fc9535 100644 (file)
@@ -8,6 +8,7 @@ from Components.ScrollLabel import ScrollLabel
 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
@@ -28,6 +29,7 @@ class CurlyTx(Screen,HelpableScreen):
 
     currentUrl = None
     currentPage = None
+    currentFontSize = 20
 
     def __init__(self, session, args = None):
         #self.skin = CurlyTx.skin
@@ -59,6 +61,7 @@ class CurlyTx(Screen,HelpableScreen):
         self.loadHelp()
         self.loadButtons()
         self.loadUrl(config.plugins.CurlyTx.defaultPage.value)
+        self.onLayoutFinish.append(self.setTextFont)
 
     def loadHelp(self):
         self.helpList.append((
@@ -156,12 +159,18 @@ class CurlyTx(Screen,HelpableScreen):
 
         self.currentPage = pageId
         self.currentUrl = url
+        self.currentFontSize = config.plugins.CurlyTx.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)
 
index 154bf37..14e1242 100644 (file)
@@ -163,6 +163,7 @@ class CurlyTxPageEdit(Screen, ConfigListScreen):
         list = [
             getConfigListEntry(_("Page URL"), page.uri),
             getConfigListEntry(_("Title"), page.title),
+            getConfigListEntry(_("Font size"), page.fontSize),
             ]
         ConfigListScreen.__init__(self, list, session = self.session)
 
index bea80aa..5f4c5eb 100644 (file)
@@ -1,4 +1,4 @@
-from Components.config import config, ConfigYesNo, ConfigSelection, ConfigNumber, ConfigText, ConfigSubsection, ConfigSubList
+from Components.config import config, ConfigYesNo, ConfigSelection, ConfigNumber, ConfigText, ConfigSubsection, ConfigSubList, ConfigInteger
 
 def createPage():
     s = ConfigSubsection()
@@ -7,6 +7,7 @@ def createPage():
         default = "Page #" + str(len(config.plugins.CurlyTx.pages) + 1),
         fixed_size = False
         )
+    s.fontSize = ConfigInteger(20, (1, 100))
     return s
 
 def loadDefaultPageOptions():