git.cweiske.de
/
enigma2.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
add reichi's skin selector
[enigma2.git]
/
lib
/
python
/
Plugins
/
Plugin.py
diff --git
a/lib/python/Plugins/Plugin.py
b/lib/python/Plugins/Plugin.py
index d363509189cc8f4204deebcc76f5171d5d466193..3a79e396325d7feb4de640ff722468a6da83f3fd 100644
(file)
--- a/
lib/python/Plugins/Plugin.py
+++ b/
lib/python/Plugins/Plugin.py
@@
-1,3
+1,5
@@
+from enigma import loadPNG
+
class PluginDescriptor:
"""An object to describe a plugin."""
class PluginDescriptor:
"""An object to describe a plugin."""
@@
-9,8
+11,10
@@
class PluginDescriptor:
# servicereference
# reason
# servicereference
# reason
+ # you have to ignore unknown kwargs!
+
# argument: session
# argument: session
- WHERE_
BLUE
MENU = 0
+ WHERE_
EXTENSIONS
MENU = 0
WHERE_MAINMENU = 1
WHERE_PLUGINMENU = 2
# argument: session, serviceref (currently selected)
WHERE_MAINMENU = 1
WHERE_PLUGINMENU = 2
# argument: session, serviceref (currently selected)
@@
-24,6
+28,13
@@
class PluginDescriptor:
# start as wizard. In that case, fnc must be a screen class!
WHERE_WIZARD = 6
# start as wizard. In that case, fnc must be a screen class!
WHERE_WIZARD = 6
+ # like autostart, but for a session. currently, only session starts are
+ # delivered, and only on pre-loaded plugins
+ WHERE_SESSIONSTART = 7
+
+ # start as teletext plugin. arguments: session, serviceref
+ WHERE_TELETEXT = 8
+
def __init__(self, name = "Plugin", where = [ ], description = "", icon = None, fnc = None):
self.name = name
if type(where) is list:
def __init__(self, name = "Plugin", where = [ ], description = "", icon = None, fnc = None):
self.name = name
if type(where) is list:
@@
-31,8
+42,20
@@
class PluginDescriptor:
else:
self.where = [ where ]
self.description = description
else:
self.where = [ where ]
self.description = description
- if type(fnc) is str:
- self.icon = loadPNG("..")
+
+ if type(icon) is str or icon is None:
+ self.iconstr = icon
+ self.icon = None
else:
self.icon = icon
else:
self.icon = icon
+
self.__call__ = fnc
self.__call__ = fnc
+
+ def updateIcon(self, path):
+ if type(self.iconstr) is str:
+ self.icon = loadPNG(path + "/" + self.iconstr)
+ else:
+ self.icon = None
+
+ def __eq__(self, other):
+ return self.__call__ == other.__call__