from Components.Label import Label
from Components.Slider import Slider
from Screens.Screen import Screen
+from Screens.MessageBox import MessageBox
from enigma import eTimer
class Ipkg(Screen):
Screen.__init__(self, session)
self.cmdList = cmdList
+
+ self.sliderPackages = {}
self.slider = Slider(0, len(cmdList))
self["slider"] = self.slider
self.activity = 0
self.activityTimer = eTimer()
- self.activityTimer.timeout.get().append(self.doActivityTimer)
+ self.activityTimer.callback.append(self.doActivityTimer)
#self.activityTimer.start(100, False)
self.ipkg = IpkgComponent()
self.slider.setValue(len(self.cmdList))
self.package.setText("")
- self.status.setText(_("Done - Installed or upgraded %d packages with %d errors") % (self.packages, self.error))
+ self.status.setText(_("Done - Installed, upgraded or removed %d packages with %d errors") % (self.packages, self.error))
return False
else:
cmd = self.cmdList[self.runningCmd]
self.package.setText(param)
self.status.setText(_("Installing"))
self.packages += 1
+ elif event == IpkgComponent.EVENT_REMOVE:
+ self.package.setText(param)
+ self.status.setText(_("Removing"))
+ self.packages += 1
elif event == IpkgComponent.EVENT_CONFIGURING:
self.package.setText(param)
self.status.setText(_("Configuring"))
self.error += 1
elif event == IpkgComponent.EVENT_DONE:
self.runNextCmd()
-
+ elif event == IpkgComponent.EVENT_MODIFIED:
+ self.session.openWithCallback(
+ self.modificationCallback,
+ MessageBox,
+ _("A configuration file (%s) was modified since Installation.\nDo you want to keep your version?") % (param)
+ )
+
+ def modificationCallback(self, res):
+ self.ipkg.write(res and "N" or "Y")
+
def exit(self):
- self.close()
+ if not self.ipkg.isRunning():
+ self.close()