From a5bb16c4609e5e79ce523923a1eba33af0490d23 Mon Sep 17 00:00:00 2001 From: DarkPhoenix Date: Fri, 19 Apr 2019 13:56:17 +0300 Subject: [PATCH] Add drone stack via ctrl-doubleclick --- gui/builtinAdditionPanes/droneView.py | 4 +++- gui/fitCommands/helpers.py | 3 ++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/gui/builtinAdditionPanes/droneView.py b/gui/builtinAdditionPanes/droneView.py index ee5b2a7cf..9ae93f5a8 100644 --- a/gui/builtinAdditionPanes/droneView.py +++ b/gui/builtinAdditionPanes/droneView.py @@ -33,6 +33,7 @@ from gui.utils.staticHelpers import DragDropHelper from service.fit import Fit from service.market import Market import gui.fitCommands as cmd +from gui.fitCommands.helpers import droneStackLimit class DroneViewDrop(wx.DropTarget): @@ -216,7 +217,8 @@ class DroneView(Display): event.Skip() return - if self.mainFrame.command.Submit(cmd.GuiAddLocalDroneCommand(fitID=fitID, itemID=event.itemID, amount=1)): + amount = droneStackLimit(fit, event.itemID) if wx.GetMouseState().CmdDown() else 1 + if self.mainFrame.command.Submit(cmd.GuiAddLocalDroneCommand(fitID=fitID, itemID=event.itemID, amount=amount)): self.mainFrame.additionsPane.select('Drones') event.Skip() diff --git a/gui/fitCommands/helpers.py b/gui/fitCommands/helpers.py index a7ce2d738..a551490e8 100644 --- a/gui/fitCommands/helpers.py +++ b/gui/fitCommands/helpers.py @@ -324,7 +324,8 @@ def stateLimit(itemIdentity): return FittingModuleState.ACTIVE -def droneStackLimit(fit, item): +def droneStackLimit(fit, itemIdentity): + item = Market.getInstance().getItem(itemIdentity) hardLimit = max(5, fit.extraAttributes["maxActiveDrones"]) releaseLimit = fit.getReleaseLimitForDrone(item) limit = min(hardLimit, releaseLimit if releaseLimit > 0 else math.inf)