X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/256eda99abcf5486ed8433180a75da1e6afb86ac..0cf3bc28d59e7bfb8519839a8e9c36a87ea382c8:/lib/python/Screens/PluginBrowser.py diff --git a/lib/python/Screens/PluginBrowser.py b/lib/python/Screens/PluginBrowser.py index e3df4de9..61bb7d0a 100755 --- a/lib/python/Screens/PluginBrowser.py +++ b/lib/python/Screens/PluginBrowser.py @@ -1,5 +1,5 @@ from Screen import Screen - +from Components.Language import language from enigma import eConsoleAppContainer from Components.ActionMap import ActionMap @@ -14,6 +14,10 @@ from Tools.LoadPixmap import LoadPixmap from time import time +def languageChanged(): + plugins.clearPluginList() + plugins.readPluginList(resolveFilename(SCOPE_PLUGINS)) + class PluginBrowser(Screen): def __init__(self, session): Screen.__init__(self, session) @@ -23,7 +27,6 @@ class PluginBrowser(Screen): self.list = [] self["list"] = PluginList(self.list) - self.updateList() self["actions"] = ActionMap(["WizardActions", "ColorActions"], { @@ -32,7 +35,8 @@ class PluginBrowser(Screen): "red": self.delete, "green": self.download }) - self.onExecBegin.append(self.checkWarnings) + self.onFirstExecBegin.append(self.checkWarnings) + self.onShown.append(self.updateList) def checkWarnings(self): if len(plugins.warnings): @@ -48,20 +52,23 @@ class PluginBrowser(Screen): def run(self): plugin = self["list"].l.getCurrentSelection()[0] - plugin(session=self.session) def updateList(self): self.pluginlist = plugins.getPlugins(PluginDescriptor.WHERE_PLUGINMENU) self.list = [PluginEntryComponent(plugin) for plugin in self.pluginlist] - self["list"].l.setList(self.list) def delete(self): - self.session.openWithCallback(self.updateList, PluginDownloadBrowser, PluginDownloadBrowser.REMOVE) + self.session.openWithCallback(self.PluginDownloadBrowserClosed, PluginDownloadBrowser, PluginDownloadBrowser.REMOVE) def download(self): - self.session.openWithCallback(self.updateList, PluginDownloadBrowser, PluginDownloadBrowser.DOWNLOAD) + self.session.openWithCallback(self.PluginDownloadBrowserClosed, PluginDownloadBrowser, PluginDownloadBrowser.DOWNLOAD) + + def PluginDownloadBrowserClosed(self): + self.updateList() + self.checkWarnings() + class PluginDownloadBrowser(Screen): DOWNLOAD = 0 @@ -190,7 +197,8 @@ class PluginDownloadBrowser(Screen): plugin = x.split(" - ", 2) if len(plugin) == 3: if self.run == 1 and self.type == self.DOWNLOAD: - self.installedplugins.append(plugin[0]) + if plugin[0] not in self.installedplugins: + self.installedplugins.append(plugin[0]) else: if plugin[0] not in self.installedplugins: plugin.append(plugin[0][15:]) @@ -222,3 +230,4 @@ class PluginDownloadBrowser(Screen): self.list = list self["list"].l.setList(list) +language.addCallback(languageChanged) \ No newline at end of file