X-Git-Url: https://git.cweiske.de/enigma2-curlytx.git/blobdiff_plain/0155a052ca0944b213a4d1ec2a81a7252f8d5b5d..8d210ea194aee84dfc4c1ab0ac3cc99137e9da35:/src/CurlyTxSettings.py diff --git a/src/CurlyTxSettings.py b/src/CurlyTxSettings.py index 0863b8c..87aeb62 100644 --- a/src/CurlyTxSettings.py +++ b/src/CurlyTxSettings.py @@ -3,8 +3,8 @@ from Components.ActionMap import ActionMap, NumberActionMap from Components.Sources.StaticText import StaticText from . import config -from config import createPage -from Components.config import config, getConfigListEntry +from config import createPage, loadDefaultPageOptions +from Components.config import config, getConfigListEntry, ConfigSelection from Components.ConfigList import ConfigList, ConfigListScreen class CurlyTxSettings(ConfigListScreen, Screen): @@ -31,7 +31,7 @@ class CurlyTxSettings(ConfigListScreen, Screen): { "cancel": self.keyCancel, "save": self.keySave, - #"ok": self.ok, + "ok": self.editPage, "blue": self.deletePage, "yellow": self.newPage }, -2) @@ -42,12 +42,17 @@ class CurlyTxSettings(ConfigListScreen, Screen): self["key_blue"] = StaticText(_("Delete")) ConfigListScreen.__init__(self, self.getConfigList(), session = self.session) + self.onClose.append(self.abort) def getConfigList(self): + #reload titles + loadDefaultPageOptions() + list = [ - getConfigListEntry(_("Page"), x.uri) + getConfigListEntry(_("Page:") + " " + x.title.value, x.uri) for x in config.plugins.CurlyTx.pages ] + list.append(getConfigListEntry(_("Default page"), config.plugins.CurlyTx.defaultPage)) list.append(getConfigListEntry(_("Show in main menu"), config.plugins.CurlyTx.menuMain)) list.append(getConfigListEntry(_("Menu title"), config.plugins.CurlyTx.menuTitle)) return list @@ -64,7 +69,7 @@ class CurlyTxSettings(ConfigListScreen, Screen): self.deletePageConfirm, MessageBox, _("Really delete this page?\nIt cannot be recovered!") - ) + ) def deletePageConfirm(self, result): if not result: @@ -73,17 +78,40 @@ class CurlyTxSettings(ConfigListScreen, Screen): id = self["config"].getCurrentIndex() del config.plugins.CurlyTx.pages[id] + config.plugins.CurlyTx.pages.save() + self["config"].setList(self.getConfigList()) def newPage(self): from CurlyTxSettings import CurlyTxSettings - self.session.openWithCallback(self.newPageCreated, CurlyTxPageEdit, createPage(), True) + self.session.openWithCallback(self.pageEdited, CurlyTxPageEdit, createPage(), True) + + def editPage(self): + id = self["config"].getCurrentIndex() + if id < len(config.plugins.CurlyTx.pages): + self.session.openWithCallback( + self.pageEdited, CurlyTxPageEdit, + config.plugins.CurlyTx.pages[id], False + ) + + def pageEdited(self, page, new): + if not page: + return - def newPageCreated(self, page, new): if new: config.plugins.CurlyTx.pages.append(page) self["config"].setList(self.getConfigList()) + + + def keySave(self): + for i in range(0, len(config.plugins.CurlyTx.pages)): + config.plugins.CurlyTx.pages[i].save() + + config.plugins.CurlyTx.pages.save() + ConfigListScreen.keySave(self) + + def abort(self): pass @@ -112,7 +140,6 @@ class CurlyTxPageEdit(Screen, ConfigListScreen): def save(self): self.close(self.page, self.new) - #FIXME: pass page to parent def keyCancel(self): - self.close() + self.close(None, self.new)