X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/8e60500bc801b141d213c78c03b1f45a56946ad7..94c1b09ff6293557b0bceda29ff9116ba2a434ae:/lib/python/Plugins/Extensions/MediaPlayer/settings.py diff --git a/lib/python/Plugins/Extensions/MediaPlayer/settings.py b/lib/python/Plugins/Extensions/MediaPlayer/settings.py index 5f9ce7cd..0b95812f 100755 --- a/lib/python/Plugins/Extensions/MediaPlayer/settings.py +++ b/lib/python/Plugins/Extensions/MediaPlayer/settings.py @@ -1,7 +1,7 @@ from Screens.Screen import Screen from Screens.HelpMenu import HelpableScreen -from Components.Label import Label from Components.FileList import FileList +from Components.Sources.StaticText import StaticText from Components.MediaPlayer import PlayList from Components.config import config, getConfigListEntry, ConfigSubsection, configfile, ConfigText, ConfigYesNo, ConfigDirectory from Components.ConfigList import ConfigListScreen @@ -14,19 +14,14 @@ config.mediaplayer.saveDirOnExit = ConfigYesNo(default=False) config.mediaplayer.defaultDir = ConfigDirectory() class DirectoryBrowser(Screen, HelpableScreen): - skin = """ - - - - - - - """ + def __init__(self, session, currDir): - from Components.Sources.StaticText import StaticText Screen.__init__(self, session) + # for the skin: first try MediaPlayerDirectoryBrowser, then FileBrowser, this allows individual skinning + self.skinName = ["MediaPlayerDirectoryBrowser", "FileBrowser" ] + HelpableScreen.__init__(self) - + self["key_red"] = StaticText(_("Cancel")) self["key_green"] = StaticText(_("Use")) @@ -40,36 +35,39 @@ class DirectoryBrowser(Screen, HelpableScreen): "ok": self.ok, "cancel": self.exit }) + self.onLayoutFinish.append(self.layoutFinished) + + def layoutFinished(self): + self.setTitle(_("Directory browser")) def ok(self): if self.filelist.canDescent(): self.filelist.descent() def use(self): - if self.filelist.canDescent() and self["filelist"].getFilename() and len(self["filelist"].getFilename()) > len(self["filelist"].getCurrentDirectory()): - self.filelist.descent() - self.close(self["filelist"].getCurrentDirectory()) + if self["filelist"].getCurrentDirectory() is not None: + if self.filelist.canDescent() and self["filelist"].getFilename() and len(self["filelist"].getFilename()) > len(self["filelist"].getCurrentDirectory()): + self.filelist.descent() + self.close(self["filelist"].getCurrentDirectory()) + else: + self.close(self["filelist"].getFilename()) def exit(self): self.close(False) class MediaPlayerSettings(Screen,ConfigListScreen): - skin = """ - - - - - - - """ def __init__(self, session, parent): - from Components.Sources.StaticText import StaticText Screen.__init__(self, session) + # for the skin: first try MediaPlayerSettings, then Setup, this allows individual skinning + self.skinName = ["MediaPlayerSettings", "Setup" ] + self.setup_title = _("Edit settings") + self.onChangedEntry = [ ] + self["key_red"] = StaticText(_("Cancel")) self["key_green"] = StaticText(_("Save")) - ConfigListScreen.__init__(self, []) + ConfigListScreen.__init__(self, [], session = session, on_change = self.changedEntry) self.parent = parent self.initConfigList() config.mediaplayer.saveDirOnExit.addNotifier(self.initConfigList) @@ -82,6 +80,9 @@ class MediaPlayerSettings(Screen,ConfigListScreen): "ok": self.ok, }, -2) + def layoutFinished(self): + self.setTitle(self.setup_title) + def initConfigList(self, element=None): print "[initConfigList]", element try: @@ -115,3 +116,17 @@ class MediaPlayerSettings(Screen,ConfigListScreen): def cancel(self): self.close() + # for summary: + def changedEntry(self): + for x in self.onChangedEntry: + x() + + def getCurrentEntry(self): + return self["config"].getCurrent()[0] + + def getCurrentValue(self): + return str(self["config"].getCurrent()[1].getText()) + + def createSummary(self): + from Screens.Setup import SetupSummary + return SetupSummary