aboutsummaryrefslogtreecommitdiff
path: root/lib/python/Plugins/Extensions/MediaPlayer/settings.py
diff options
context:
space:
mode:
authorFelix Domke <tmbinc@elitedvb.net>2008-11-17 15:42:54 +0100
committerFelix Domke <tmbinc@elitedvb.net>2008-11-17 15:42:54 +0100
commita34ef895210161a8820e96829ac87806566e7858 (patch)
tree55b9f104dbbdd8a1d72e598b989421f839576b9a /lib/python/Plugins/Extensions/MediaPlayer/settings.py
parent588010098dbcc24b82ea736feec6b6056cffd2e3 (diff)
parent153e0ed5048c79c600e1acd085b62015b7314ba7 (diff)
downloadenigma2-a34ef895210161a8820e96829ac87806566e7858.tar.gz
enigma2-a34ef895210161a8820e96829ac87806566e7858.zip
Merge branch 'master' into tmbinc/FixTimingBugs
Conflicts: lib/dvb/sec.cpp lib/python/Components/Network.py lib/python/Components/Playlist.py lib/python/Plugins/Extensions/DVDBurn/Process.py lib/python/Plugins/Extensions/MediaPlayer/plugin.py lib/python/Screens/TimerEdit.py po/lt.po po/nl.po po/tr.po
Diffstat (limited to 'lib/python/Plugins/Extensions/MediaPlayer/settings.py')
-rw-r--r--lib/python/Plugins/Extensions/MediaPlayer/settings.py137
1 files changed, 137 insertions, 0 deletions
diff --git a/lib/python/Plugins/Extensions/MediaPlayer/settings.py b/lib/python/Plugins/Extensions/MediaPlayer/settings.py
new file mode 100644
index 00000000..c6d274bd
--- /dev/null
+++ b/lib/python/Plugins/Extensions/MediaPlayer/settings.py
@@ -0,0 +1,137 @@
+from Screens.Screen import Screen
+from Screens.HelpMenu import HelpableScreen
+from Components.Label import Label
+from Components.FileList import FileList
+from Components.MediaPlayer import PlayList
+from Components.config import config, getConfigListEntry, ConfigSubsection, configfile, ConfigText, ConfigYesNo
+from Components.ConfigList import ConfigListScreen
+from Components.ActionMap import ActionMap
+
+class ConfigDirectory(ConfigText):
+ def __init__(self, default="", visible_width=60):
+ ConfigText.__init__(self, default, fixed_size = True, visible_width = visible_width)
+ def handleKey(self, key):
+ pass
+ def getValue(self):
+ if self.text == "":
+ return None
+ else:
+ return ConfigText.getValue(self)
+ def setValue(self, val):
+ if val == None:
+ val = ""
+ ConfigText.setValue(self, val)
+ def getMulti(self, selected):
+ if self.text == "":
+ return ("mtext"[1-selected:], _("List of Storage Devices"), range(0))
+ else:
+ return ConfigText.getMulti(self, selected)
+
+config.mediaplayer = ConfigSubsection()
+config.mediaplayer.repeat = ConfigYesNo(default=False)
+config.mediaplayer.savePlaylistOnExit = ConfigYesNo(default=True)
+config.mediaplayer.saveDirOnExit = ConfigYesNo(default=False)
+config.mediaplayer.defaultDir = ConfigDirectory()
+
+class DirectoryBrowser(Screen, HelpableScreen):
+ skin = """
+ <screen name="DirectoryBrowser" position="160,62" size="450,376" title="Directory browser" >
+ <ePixmap pixmap="skin_default/buttons/red.png" position="10,0" size="140,40" alphatest="on" />
+ <ePixmap pixmap="skin_default/buttons/green.png" position="300,0" size="140,40" alphatest="on" />
+ <widget source="key_red" render="Label" position="10,0" zPosition="1" size="140,40" font="Regular;20" halign="center" valign="center" backgroundColor="#9f1313" transparent="1" />
+ <widget source="key_green" render="Label" position="300,0" zPosition="1" size="140,40" font="Regular;20" halign="center" valign="center" backgroundColor="#1f771f" transparent="1" />
+ <widget name="filelist" position="0,44" size="440,322" scrollbarMode="showOnDemand" />
+ </screen>"""
+ def __init__(self, session, currDir):
+ from Components.Sources.StaticText import StaticText
+ Screen.__init__(self, session)
+ HelpableScreen.__init__(self)
+
+ self["key_red"] = StaticText(_("Cancel"))
+ self["key_green"] = StaticText(_("Use"))
+
+ self.filelist = FileList(currDir, matchingPattern="")
+ self["filelist"] = self.filelist
+
+ self["FilelistActions"] = ActionMap(["SetupActions", "ColorActions"],
+ {
+ "green": self.use,
+ "red": self.exit,
+ "ok": self.ok,
+ "cancel": self.exit
+ })
+
+ def ok(self):
+ if self.filelist.canDescent():
+ self.filelist.descent()
+
+ def use(self):
+ if self.filelist.canDescent() and len(self["filelist"].getFilename()) > len(self["filelist"].getCurrentDirectory()):
+ self.filelist.descent()
+ self.close(self["filelist"].getCurrentDirectory())
+
+ def exit(self):
+ self.close(False)
+
+class MediaPlayerSettings(Screen,ConfigListScreen):
+ skin = """
+ <screen name="MediaPlayerSettings" position="160,150" size="450,200" title="Edit settings">
+ <ePixmap pixmap="skin_default/buttons/red.png" position="10,0" size="140,40" alphatest="on" />
+ <ePixmap pixmap="skin_default/buttons/green.png" position="300,0" size="140,40" alphatest="on" />
+ <widget source="key_red" render="Label" position="10,0" zPosition="1" size="140,40" font="Regular;20" halign="center" valign="center" backgroundColor="#9f1313" transparent="1" />
+ <widget source="key_green" render="Label" position="300,0" zPosition="1" size="140,40" font="Regular;20" halign="center" valign="center" backgroundColor="#1f771f" transparent="1" />
+ <widget name="config" position="10,44" size="430,146" />
+ </screen>"""
+
+ def __init__(self, session, parent):
+ from Components.Sources.StaticText import StaticText
+ Screen.__init__(self, session)
+ self["key_red"] = StaticText(_("Cancel"))
+ self["key_green"] = StaticText(_("Save"))
+
+ ConfigListScreen.__init__(self, [])
+ self.parent = parent
+ self.initConfigList()
+ config.mediaplayer.saveDirOnExit.addNotifier(self.initConfigList)
+
+ self["setupActions"] = ActionMap(["SetupActions", "ColorActions"],
+ {
+ "green": self.save,
+ "red": self.cancel,
+ "cancel": self.cancel,
+ "ok": self.ok,
+ }, -2)
+
+ def initConfigList(self, element=None):
+ print "[initConfigList]", element
+ try:
+ self.list = []
+ self.list.append(getConfigListEntry(_("repeat playlist"), config.mediaplayer.repeat))
+ self.list.append(getConfigListEntry(_("save playlist on exit"), config.mediaplayer.savePlaylistOnExit))
+ self.list.append(getConfigListEntry(_("save last directory on exit"), config.mediaplayer.saveDirOnExit))
+ if not config.mediaplayer.saveDirOnExit.getValue():
+ self.list.append(getConfigListEntry(_("start directory"), config.mediaplayer.defaultDir))
+ self["config"].setList(self.list)
+ except KeyError:
+ print "keyError"
+
+ def changedConfigList(self):
+ self.initConfigList()
+
+ def ok(self):
+ if self["config"].getCurrent()[1] == config.mediaplayer.defaultDir:
+ self.session.openWithCallback(self.DirectoryBrowserClosed, DirectoryBrowser, self.parent.filelist.getCurrentDirectory())
+
+ def DirectoryBrowserClosed(self, path):
+ print "PathBrowserClosed:" + str(path)
+ if path != False:
+ config.mediaplayer.defaultDir.setValue(path)
+
+ def save(self):
+ for x in self["config"].list:
+ x[1].save()
+ self.close()
+
+ def cancel(self):
+ self.close()
+