add missing import
[vuplus_dvbapp] / lib / python / Plugins / SystemPlugins / SoftwareManager / plugin.py
index 14f9ee7..d8ccd5a 100755 (executable)
@@ -16,6 +16,7 @@ from Components.config import config,getConfigListEntry, ConfigSubsection, Confi
 from Components.Console import Console
 from Components.MultiContent import MultiContentEntryText, MultiContentEntryPixmapAlphaTest
 from Components.SelectionList import SelectionList
+from Components.PluginComponent import plugins
 from Tools.Directories import fileExists, resolveFilename, SCOPE_PLUGINS, SCOPE_SKIN_IMAGE
 from Tools.LoadPixmap import LoadPixmap
 from enigma import eTimer, quitMainloop, RT_HALIGN_LEFT, RT_VALIGN_CENTER, eListboxPythonMultiContent, eListbox, gFont
@@ -324,8 +325,8 @@ class PacketManager(Screen):
                self["shortcuts"] = ActionMap(["ShortcutActions", "WizardActions"], 
                {
                        "ok": self.go,
-                       "back": self.close,
-                       "red": self.close,
+                       "back": self.exit,
+                       "red": self.exit,
                        "green": self.reload,
                }, -1)
                
@@ -350,7 +351,15 @@ class PacketManager(Screen):
                self.ipkg.addCallback(self.ipkgCallback)
                self.onShown.append(self.setWindowTitle)
                self.onLayoutFinish.append(self.rebuildList)
-               self.onClose.append(self.cleanup)
+               #self.onClose.append(self.cleanup)
+
+       def exit(self):
+               self.ipkg.stop()
+               if self.Console is not None:
+                       if len(self.Console.appContainers):
+                               for name in self.Console.appContainers.keys():
+                                       self.Console.kill(name)
+               self.close()
 
        def cleanup(self):
                self.ipkg.stop()
@@ -418,6 +427,7 @@ class PacketManager(Screen):
                                self.cachelist[item] = [entry[0], entry[1], entry[2], 'installable']
                                self['list'].l.setList(self.list)
                                write_cache(self.cache_file, self.cachelist)
+                               self.reloadPluginlist()
                if result:
                        quitMainloop(3)
 
@@ -434,12 +444,13 @@ class PacketManager(Screen):
                if result is False:
                        cur = self['list'].l.getCurrentSelection()
                        if cur:
-                               entry = [0]
+                               entry = cur[0]
                                item = self['list'].l.getCurrentSelectionIndex()
                                self.list[item] = self.buildEntryComponent(entry[0], entry[1], entry[2], 'installed')
                                self.cachelist[item] = [entry[0], entry[1], entry[2], 'installed']
                                self['list'].l.setList(self.list)
                                write_cache(self.cache_file, self.cachelist)
+                               self.reloadPluginlist()
                if result:
                        quitMainloop(3)