Added "Remove Drone Stack" to drone context menu

This commit is contained in:
Eugen Beck
2013-09-22 14:19:24 +02:00
parent b9e2b11a54
commit bb76e9b3b4
3 changed files with 33 additions and 5 deletions

View File

@@ -1,2 +1,2 @@
__all__ = ["moduleAmmoPicker", "itemStats", "damagePattern", "marketJump", "itemRemove",
"droneSplit", "ammoPattern", "project", "factorReload", "whProjector"]
__all__ = ["moduleAmmoPicker", "itemStats", "damagePattern", "marketJump", "itemRemove",
"droneSplit", "droneRemoveStack", "ammoPattern", "project", "factorReload", "whProjector"]

View File

@@ -0,0 +1,28 @@
from gui.contextMenu import ContextMenu
import gui.mainFrame
import service
import wx
import gui.globalEvents as GE
class ItemRemove(ContextMenu):
def __init__(self):
self.mainFrame = gui.mainFrame.MainFrame.getInstance()
def display(self, srcContext, selection):
return srcContext == "droneItem"
def getText(self, itmContext, selection):
return "Remove {0} Stack".format(itmContext)
def activate(self, fullContext, selection, i):
srcContext = fullContext[0]
sFit = service.Fit.getInstance()
fitID = self.mainFrame.getActiveFit()
cFit = sFit.getFit(fitID)
idx = cFit.drones.index(selection[0])
sFit.removeDrone(fitID, idx, numDronesToRemove=cFit.drones[idx].amount)
wx.PostEvent(self.mainFrame, GE.FitChanged(fitID=fitID))
ItemRemove.register()

View File

@@ -438,12 +438,12 @@ class Fit(object):
fit = eos.db.getFit(fitID)
self.splitDrones(fit, d, amount, fit.drones)
def removeDrone(self, fitID, i):
def removeDrone(self, fitID, i, numDronesToRemove=1):
fit = eos.db.getFit(fitID)
d = fit.drones[i]
d.amount -= 1
d.amount -= numDronesToRemove
if d.amountActive > 0:
d.amountActive -= 1
d.amountActive -= numDronesToRemove
if d.amount == 0:
del fit.drones[i]