move url loading after layout finishing to prevent crashes.
[enigma2-curlytx.git] / src / config.py
index a41ebcf927f4cb2e5c11a0d9517f6994c1569601..e32e27b5cae17c14e2347eb4bfe02057d7152493 100644 (file)
@@ -1,17 +1,37 @@
-from Components.config import config, ConfigYesNo, ConfigSelection, ConfigNumber, ConfigText, ConfigSubsection, ConfigSubList
+# -*- coding: utf-8 -*-
+# CurlyTx configuration
+# Copyright (C) 2011 Christian Weiske <cweiske@cweiske.de>
+# License: GPLv3 or later
+
+from Components.config import config, ConfigYesNo, ConfigSelection, ConfigNumber, ConfigText, ConfigSubsection, ConfigSubList, ConfigInteger
+
+def createPage():
+    """ Create and return a configuration page object """
+    s = ConfigSubsection()
+    s.uri   = ConfigText(default="http://", fixed_size=False)
+    s.title = ConfigText(
+        default = "Page #" + str(len(config.plugins.CurlyTx.pages) + 1),
+        fixed_size = False
+        )
+    s.fontSize = ConfigInteger(20, (1, 100))
+    return s
+
+def loadDefaultPageOptions():
+    defaults = []
+    for i in range(0, len(config.plugins.CurlyTx.pages)):
+        defaults.append((str(i), config.plugins.CurlyTx.pages[i].title.value))
+    if hasattr(config.plugins.CurlyTx, "defaultPage"):
+        config.plugins.CurlyTx.defaultPage.setChoices(defaults, "0")
+    else:
+        config.plugins.CurlyTx.defaultPage = ConfigSelection(defaults, "0")
 
 #configuration setup
 config.plugins.CurlyTx = ConfigSubsection()
 config.plugins.CurlyTx.menuMain = ConfigYesNo(default = True)
-config.plugins.CurlyTx.menuTitle = ConfigText(default = "CurlyTx")
-config.plugins.CurlyTx.pageCount = ConfigNumber(default=0)
+config.plugins.CurlyTx.menuExtensions = ConfigYesNo(default = False)
+config.plugins.CurlyTx.menuTitle = ConfigText(default = "CurlyTx", fixed_size = False)
+config.plugins.CurlyTx.feedUrl = ConfigText(default = "", fixed_size = False)
 config.plugins.CurlyTx.pages = ConfigSubList()
-i = 0
-while i < config.plugins.CurlyTx.pageCount.value:
-    s = ConfigSubsection()
-    s.uri = ConfigText(default="http://", fixed_size=False)
-    config.plugins.CurlyTx.pages.append(s)
-    i += 1
-    del s
-del i
-#config.plugins.CurlyTx.defaultPage = ConfigNumber(default=0)
+for id,value in config.plugins.CurlyTx.pages.stored_values.iteritems():
+    config.plugins.CurlyTx.pages.append(createPage())
+loadDefaultPageOptions()