aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorStefan Pluecken <stefan.pluecken@multimedia-labs.de>2006-08-08 19:00:43 +0000
committerStefan Pluecken <stefan.pluecken@multimedia-labs.de>2006-08-08 19:00:43 +0000
commitb56bcb6768ce0fdb7124e02d2fd6a531b4068505 (patch)
treeeae4c13e9be3325429972208bb167a37a1dc540c /lib
parent26ea0041c3afd21d33cf87364b8cb6b71261aad2 (diff)
downloadenigma2-b56bcb6768ce0fdb7124e02d2fd6a531b4068505.tar.gz
enigma2-b56bcb6768ce0fdb7124e02d2fd6a531b4068505.zip
plugins can appear in the extensions menu now
use PluginDescriptor.WHERE_EXTENSIONSMENU and the same parameters as for standard plugins (see the file manager plugin for an example)
Diffstat (limited to 'lib')
-rw-r--r--lib/python/Plugins/Extensions/FileManager/plugin.py3
-rw-r--r--lib/python/Plugins/Plugin.py2
-rw-r--r--lib/python/Screens/InfoBar.py7
-rw-r--r--lib/python/Screens/InfoBarGenerics.py20
4 files changed, 27 insertions, 5 deletions
diff --git a/lib/python/Plugins/Extensions/FileManager/plugin.py b/lib/python/Plugins/Extensions/FileManager/plugin.py
index 11f75a2b..d2b19719 100644
--- a/lib/python/Plugins/Extensions/FileManager/plugin.py
+++ b/lib/python/Plugins/Extensions/FileManager/plugin.py
@@ -66,4 +66,5 @@ def main(session, **kwargs):
session.open(FileManager)
def Plugins(**kwargs):
- return PluginDescriptor(name="File-Manager", description="Let's you view/edit files in your Dreambox", where = PluginDescriptor.WHERE_PLUGINMENU, fnc=main)
+ return [PluginDescriptor(name="File-Manager", description="Let's you view/edit files in your Dreambox", where = PluginDescriptor.WHERE_PLUGINMENU, fnc=main),
+ PluginDescriptor(name="File-Manager", description="Let's you view/edit files in your Dreambox", where = PluginDescriptor.WHERE_EXTENSIONSMENU, fnc=main)]
diff --git a/lib/python/Plugins/Plugin.py b/lib/python/Plugins/Plugin.py
index b2808c8e..3a79e396 100644
--- a/lib/python/Plugins/Plugin.py
+++ b/lib/python/Plugins/Plugin.py
@@ -14,7 +14,7 @@ class PluginDescriptor:
# you have to ignore unknown kwargs!
# argument: session
- WHERE_BLUEMENU = 0
+ WHERE_EXTENSIONSMENU = 0
WHERE_MAINMENU = 1
WHERE_PLUGINMENU = 2
# argument: session, serviceref (currently selected)
diff --git a/lib/python/Screens/InfoBar.py b/lib/python/Screens/InfoBar.py
index ab82db6a..4a1f318a 100644
--- a/lib/python/Screens/InfoBar.py
+++ b/lib/python/Screens/InfoBar.py
@@ -19,7 +19,7 @@ from Screens.InfoBarGenerics import InfoBarShowHide, \
InfoBarSubserviceSelection, InfoBarTuner, InfoBarShowMovies, InfoBarTimeshift, \
InfoBarServiceNotifications, InfoBarPVRState, InfoBarCueSheetSupport, InfoBarSimpleEventView, \
InfoBarSummarySupport, InfoBarTimeshiftState, InfoBarTeletextPlugin, InfoBarExtensions, \
- InfoBarSubtitleSupport, InfoBarPiP, InfoBarSubtitles
+ InfoBarSubtitleSupport, InfoBarPiP, InfoBarSubtitles, InfoBarPlugins
from Screens.HelpMenu import HelpableScreen, HelpMenu
@@ -33,7 +33,7 @@ class InfoBar(InfoBarShowHide,
HelpableScreen, InfoBarAdditionalInfo, InfoBarNotifications, InfoBarDish,
InfoBarSubserviceSelection, InfoBarTuner, InfoBarTimeshift, InfoBarSeek,
InfoBarSummarySupport, InfoBarTimeshiftState, InfoBarTeletextPlugin, InfoBarExtensions,
- InfoBarPiP, InfoBarSubtitles,
+ InfoBarPiP, InfoBarSubtitles, InfoBarPlugins,
InfoBarSubtitleSupport, Screen):
ALLOW_SUSPEND = True
@@ -56,7 +56,8 @@ class InfoBar(InfoBarShowHide,
InfoBarEvent, InfoBarServiceName, InfoBarInstantRecord, InfoBarAudioSelection, \
InfoBarAdditionalInfo, InfoBarNotifications, InfoBarDish, InfoBarSubserviceSelection, \
InfoBarTuner, InfoBarTimeshift, InfoBarSeek, InfoBarSummarySupport, InfoBarTimeshiftState, \
- InfoBarTeletextPlugin, InfoBarExtensions, InfoBarPiP, InfoBarSubtitles, InfoBarSubtitleSupport:
+ InfoBarTeletextPlugin, InfoBarExtensions, InfoBarPiP, InfoBarSubtitles, InfoBarSubtitleSupport, \
+ InfoBarPlugins:
x.__init__(self)
self.helpList.append((self["actions"], "InfobarActions", [("showMovies", _("view recordings..."))]))
diff --git a/lib/python/Screens/InfoBarGenerics.py b/lib/python/Screens/InfoBarGenerics.py
index f2516c4b..c5018c2f 100644
--- a/lib/python/Screens/InfoBarGenerics.py
+++ b/lib/python/Screens/InfoBarGenerics.py
@@ -1090,6 +1090,26 @@ class InfoBarExtensions:
from Tools.BoundFunction import boundFunction
+# depends on InfoBarExtensions
+from Components.PluginComponent import plugins
+
+class InfoBarPlugins:
+ def __init__(self):
+ self.addExtension(extension = self.getPluginList, type = InfoBarExtensions.EXTENSION_LIST)
+
+
+ def getPluginName(self, name):
+ return name
+
+ def getPluginList(self):
+ list = []
+ for p in plugins.getPlugins(where = PluginDescriptor.WHERE_EXTENSIONSMENU):
+ list.append(((boundFunction(self.getPluginName, p.name), boundFunction(self.runPlugin, p), lambda: True), None))
+ return list
+
+ def runPlugin(self, plugin):
+ plugin(session = self.session)
+
# depends on InfoBarExtensions and InfoBarSubtitleSupport
class InfoBarSubtitles:
def __init__(self):