X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/af574b481d63d4dea8cbef66680e597df5a27f1e..c8c839608b98cc3b37e90d049b66e646f8e46cd9:/lib/python/Plugins/Plugin.py diff --git a/lib/python/Plugins/Plugin.py b/lib/python/Plugins/Plugin.py index d10a3fba..4b5b7e2a 100644 --- 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.""" @@ -21,6 +23,9 @@ class PluginDescriptor: # reason (0: start, 1: end) WHERE_AUTOSTART = 5 + # start as wizard. In that case, fnc must be a screen class! + WHERE_WIZARD = 6 + def __init__(self, name = "Plugin", where = [ ], description = "", icon = None, fnc = None): self.name = name if type(where) is list: @@ -28,8 +33,17 @@ class PluginDescriptor: else: self.where = [ where ] self.description = description - if type(fnc) is str: - self.icon = loadPNG("..") - else: - self.icon = icon + + self.iconstr = icon + self.icon = None + 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__