aboutsummaryrefslogtreecommitdiff
path: root/lib/python/Screens
diff options
context:
space:
mode:
authorStefan Pluecken <stefan.pluecken@multimedia-labs.de>2006-02-23 00:48:01 +0000
committerStefan Pluecken <stefan.pluecken@multimedia-labs.de>2006-02-23 00:48:01 +0000
commitd27d90f79580afe6699bc3bd416c4ea2549ecbd1 (patch)
tree1c5db44cea46d12c35b85e726179b42953c5af08 /lib/python/Screens
parentde8fcf52b766c028f03d4174f676e8bea6a408df (diff)
downloadenigma2-d27d90f79580afe6699bc3bd416c4ea2549ecbd1.tar.gz
enigma2-d27d90f79580afe6699bc3bd416c4ea2549ecbd1.zip
add ability to remove plugins
Diffstat (limited to 'lib/python/Screens')
-rw-r--r--lib/python/Screens/PluginBrowser.py37
1 files changed, 28 insertions, 9 deletions
diff --git a/lib/python/Screens/PluginBrowser.py b/lib/python/Screens/PluginBrowser.py
index 429163ee..c0e85c87 100644
--- a/lib/python/Screens/PluginBrowser.py
+++ b/lib/python/Screens/PluginBrowser.py
@@ -17,7 +17,7 @@ class PluginBrowser(Screen):
def __init__(self, session):
Screen.__init__(self, session)
- self["red"] = Label(_("Delete"))
+ self["red"] = Label(_("Remove Plugins"))
self["green"] = Label(_("Download Plugins"))
self.list = []
@@ -50,15 +50,20 @@ class PluginBrowser(Screen):
self["list"].l.setList(self.list)
def delete(self):
- pass
+ self.session.openWithCallback(self.updateList, PluginDownloadBrowser, PluginDownloadBrowser.REMOVE)
def download(self):
- self.session.openWithCallback(self.updateList, PluginDownloadBrowser)
+ self.session.openWithCallback(self.updateList, PluginDownloadBrowser, PluginDownloadBrowser.DOWNLOAD)
class PluginDownloadBrowser(Screen):
- def __init__(self, session):
+ DOWNLOAD = 0
+ REMOVE = 1
+
+ def __init__(self, session, type):
Screen.__init__(self, session)
+ self.type = type
+
self.container = eConsoleAppContainer()
self.container.appClosed.get().append(self.runFinished)
self.container.dataAvail.get().append(self.dataAvail)
@@ -68,7 +73,12 @@ class PluginDownloadBrowser(Screen):
self["list"] = PluginList(self.list)
self.pluginlist = []
- self["text"] = Label(_("Downloading plugin information. Please wait..."))
+ if self.type == self.DOWNLOAD:
+ self.session.currentDialog.instance.setTitle(_("Downloadale new plugins"))
+ self["text"] = Label(_("Downloading plugin information. Please wait..."))
+ elif self.type == self.REMOVE:
+ self.session.currentDialog.instance.setTitle(_("Remove plugins"))
+ self["text"] = Label(_("Getting plugin information. Please wait..."))
self.run = 0
@@ -80,11 +90,17 @@ class PluginDownloadBrowser(Screen):
def go(self):
print "plugin: installing:", self.pluginlist[self["list"].l.getCurrentSelectionIndex()]
- self.session.openWithCallback(self.runInstall, MessageBox, _("Do you really want to download\nthe plugin \"" + self.pluginlist[self["list"].l.getCurrentSelectionIndex()][3] + "\"?"))
-
+ if self.type == self.DOWNLOAD:
+ self.session.openWithCallback(self.runInstall, MessageBox, _("Do you really want to download\nthe plugin \"" + self.pluginlist[self["list"].l.getCurrentSelectionIndex()][3] + "\"?"))
+ elif self.type == self.REMOVE:
+ self.session.openWithCallback(self.runInstall, MessageBox, _("Do you really want to REMOVE\nthe plugin \"" + self.pluginlist[self["list"].l.getCurrentSelectionIndex()][3] + "\"?"))
+
def runInstall(self, val):
if val:
- self.session.openWithCallback(self.installFinished, Console, ["ipkg install " + self.pluginlist[self["list"].l.getCurrentSelectionIndex()][0]])
+ if self.type == self.DOWNLOAD:
+ self.session.openWithCallback(self.installFinished, Console, ["ipkg install " + self.pluginlist[self["list"].l.getCurrentSelectionIndex()][0]])
+ elif self.type == self.REMOVE:
+ self.session.openWithCallback(self.installFinished, Console, ["ipkg remove " + self.pluginlist[self["list"].l.getCurrentSelectionIndex()][0]])
def startRun(self):
self["list"].instance.hide()
@@ -96,7 +112,10 @@ class PluginDownloadBrowser(Screen):
def runFinished(self, retval):
if self.run == 0:
self.run = 1
- self.container.execute("ipkg list enigma2-plugin-*")
+ if self.type == self.DOWNLOAD:
+ self.container.execute("ipkg list enigma2-plugin-*")
+ elif self.type == self.REMOVE:
+ self.container.execute("ipkg list_installed enigma2-plugin-*")
else:
if len(self.pluginlist) > 0:
self.updateList()