Remove drone stacks when holding alt

This commit is contained in:
DarkPhoenix
2019-04-19 19:40:59 +03:00
parent 68a13a6bb8
commit 0675ed9a73
3 changed files with 12 additions and 6 deletions

View File

@@ -76,7 +76,7 @@ class DroneView(Display):
self.mainFrame.Bind(GE.FIT_CHANGED, self.fitChanged)
self.mainFrame.Bind(ITEM_SELECTED, self.addItem)
self.Bind(wx.EVT_LEFT_DCLICK, self.removeItem)
self.Bind(wx.EVT_LEFT_DCLICK, self.OnLeftDoubleClick)
self.Bind(wx.EVT_LEFT_DOWN, self.click)
self.Bind(wx.EVT_KEY_UP, self.kbEvent)
self.Bind(wx.EVT_MOTION, self.OnMouseMove)
@@ -223,13 +223,17 @@ class DroneView(Display):
event.Skip()
def removeItem(self, event):
def OnLeftDoubleClick(self, event):
row, _ = self.HitTest(event.Position)
if row != -1:
col = self.getColumn(event.Position)
if col != self.getColIndex(State):
mstate = wx.GetMouseState()
drone = self.drones[self.GetItemData(row)]
self.removeDrone(drone)
if mstate.cmdDown or mstate.altDown:
self.removeDroneStack(drone)
else:
self.removeDrone(drone)
def removeDrone(self, drone):
fitID = self.mainFrame.getActiveFit()
@@ -253,7 +257,6 @@ class DroneView(Display):
sel = self.GetFirstSelected()
if sel != -1:
drone = self.drones[sel]
sMkt = Market.getInstance()
sourceContext = "droneItem"
itemContext = sMkt.getCategoryByItem(drone.item).name

View File

@@ -331,8 +331,11 @@ class ProjectedView(d.Display):
self.mainFrame.command.Submit(cmd.GuiRemoveProjectedModuleCommand(
fitID=fitID, position=Fit.getInstance().getFit(fitID).projectedModules.index(thing)))
elif isinstance(thing, es_Drone):
mstate = wx.GetMouseState()
self.mainFrame.command.Submit(cmd.GuiRemoveProjectedDroneCommand(
fitID=fitID, itemID=thing.itemID, amount=1))
fitID=fitID,
itemID=thing.itemID,
amount=math.inf if mstate.cmdDown or mstate.altDown else 1))
elif isinstance(thing, es_Fighter):
self.mainFrame.command.Submit(cmd.GuiRemoveProjectedFighterCommand(
fitID=fitID, position=Fit.getInstance().getFit(fitID).projectedFighters.index(thing)))

View File

@@ -199,7 +199,7 @@ class AvailableImplantsView(d.Display):
def __init__(self, parent):
d.Display.__init__(self, parent, style=wx.LC_SINGLE_SEL)
self.Bind(wx.EVT_LEFT_DCLICK, parent.removeItem)
self.Bind(wx.EVT_LEFT_DCLICK, parent.OnLeftDoubleClick)
class ItemView(d.Display):