diff options
| author | Christian Weiske <cweiske@cweiske.de> | 2011-11-15 18:00:27 +0100 |
|---|---|---|
| committer | Christian Weiske <cweiske@cweiske.de> | 2011-11-15 18:00:27 +0100 |
| commit | ae2a56af5f7f9e6fbfe3f33d6c8e5ebc5c04ddf6 (patch) | |
| tree | c26a40e28c79a91e6ca173eda450cb530dc61234 /src | |
| parent | 51b645f28c1b9f5e955db225c28b864370755d70 (diff) | |
| download | enigma2-curlytx-ae2a56af5f7f9e6fbfe3f33d6c8e5ebc5c04ddf6.tar.gz enigma2-curlytx-ae2a56af5f7f9e6fbfe3f33d6c8e5ebc5c04ddf6.zip | |
show pages in settings screen
Diffstat (limited to 'src')
| -rw-r--r-- | src/CurlyTxSettings.py | 76 |
1 files changed, 57 insertions, 19 deletions
diff --git a/src/CurlyTxSettings.py b/src/CurlyTxSettings.py index 04277e4..3a58ecb 100644 --- a/src/CurlyTxSettings.py +++ b/src/CurlyTxSettings.py @@ -6,46 +6,84 @@ from . import config from Components.config import config, getConfigListEntry from Components.ConfigList import ConfigList, ConfigListScreen -class CurlyTxSettings(Screen, ConfigListScreen): +class CurlyTxSettings(ConfigListScreen, Screen): + skin = """ + <screen name="Setup" position="center,center" size="560,430" title="Setup"> + <ePixmap pixmap="skin_default/buttons/red.png" position="0,0" size="140,40" transparent="1" alphatest="on" /> + <ePixmap pixmap="skin_default/buttons/green.png" position="140,0" size="140,40" transparent="1" alphatest="on" /> + <ePixmap pixmap="skin_default/buttons/yellow.png" position="280,0" size="140,40" transparent="1" alphatest="on" /> + <ePixmap pixmap="skin_default/buttons/blue.png" position="420,0" size="140,40" transparent="1" alphatest="on" /> + <widget source="key_red" render="Label" position="0,0" zPosition="1" size="140,40" font="Regular;20" halign="center" valign="center" backgroundColor="#9f1313" transparent="1" /> + <widget source="key_green" render="Label" position="140,0" zPosition="1" size="140,40" font="Regular;20" halign="center" valign="center" backgroundColor="#1f771f" transparent="1" /> + <widget source="key_yellow" render="Label" position="280,0" zPosition="1" size="140,40" font="Regular;20" valign="center" halign="center" backgroundColor="#a08500" transparent="1" /> + <widget source="key_blue" render="Label" position="420,0" zPosition="1" size="140,40" font="Regular;20" valign="center" halign="center" backgroundColor="#18188b" transparent="1" /> + <widget name="config" position="5,50" size="550,325" scrollbarMode="showOnDemand" /> + </screen>""" def __init__(self, session): + self.skin = CurlyTxSettings.skin Screen.__init__(self, session) - self.skinName = [ "CurlyTxSettings", "Setup" ] + #self.skinName = [ "CurlyTxSettings", "Setup" ] self.setup_title = _("Settings") - self["actions"] = ActionMap(["SetupActions"], + self["actions"] = ActionMap(["SetupActions","ColorActions"], { "cancel": self.keyCancel, "save": self.keySave, - "ok": self.keySave - #fixme: open page editor + #"ok": self.ok, + "blue": self.deletePage, + "yellow": self.newPage }, -2) - self["key_red"] = StaticText(_("Cancel")) - self["key_green"] = StaticText(_("OK")) + self["key_red"] = StaticText(_("Cancel")) + self["key_green"] = StaticText(_("OK")) + self["key_yellow"] = StaticText(_("New")) + self["key_blue"] = StaticText(_("Delete")) - self.onChangedEntry = [ ] - ConfigListScreen.__init__(self, self.getConfigList(), session = self.session, on_change = self.changedEntry) + ConfigListScreen.__init__(self, self.getConfigList(), session = self.session) def getConfigList(self): - list = [] + list = [ + getConfigListEntry(_("Page"), x.uri) + for x in config.plugins.CurlyTx.pages + ] list.append(getConfigListEntry(_("Show in main menu"), config.plugins.CurlyTx.menuMain)) list.append(getConfigListEntry(_("Menu title"), config.plugins.CurlyTx.menuTitle)) - # fixme: automatically set that - list.append(getConfigListEntry(_("Number of pages"), config.plugins.CurlyTx.pageCount)) - # fixme: other way? - #list.append(getConfigListEntry(_("Pages"), config.plugins.CurlyTx.pages)) return list - def changedEntry(self): - # fixme: needed? - for x in self.onChangedEntry: - x() - def keyLeft(self): ConfigListScreen.keyLeft(self) def keyRight(self): ConfigListScreen.keyRight(self) + def deletePage(self): + from Screens.MessageBox import MessageBox + self.session.openWithCallback( + self.deletePageConfirm, + MessageBox, + _("Really delete this page?\nIt cannot be recovered!") + ) + + def deletePageConfirm(self, result): + if not result: + return + + id = self["config"].getCurrentIndex() + del config.plugins.CurlyTx.pages[id] + config.plugins.CurlyTx.pageCount.value -= 1 + + self["config"].setList(self.getConfigList()) + + def newPage(self): + # FIXME + pass + + +class CurlyTxPageEdit(Screen, ConfigListScreen): + def __init__(self, session): + Screen.__init__(self, session) + + self["key_red"] = StaticText(_("Cancel")) + self["key_green"] = StaticText(_("OK")) |
