From 983641d1d505dc6fa34486e540bd6636b8982f96 Mon Sep 17 00:00:00 2001 From: DarkPhoenix Date: Mon, 22 Apr 2019 00:43:52 +0300 Subject: [PATCH] If loading into specified group of modules fails during alt-drag, attempt to load into all --- gui/builtinViews/fittingView.py | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/gui/builtinViews/fittingView.py b/gui/builtinViews/fittingView.py index 572219324..508d58f2a 100644 --- a/gui/builtinViews/fittingView.py +++ b/gui/builtinViews/fittingView.py @@ -487,15 +487,21 @@ class FittingView(d.Display): elif item.isSubsystem: self.mainFrame.command.Submit(cmd.GuiAddLocalModuleCommand(fitID=fitID, itemID=itemID)) elif item.isCharge: + failoverToAll = False + positionsAll = list(range(len(fit.modules))) if dstMod is None or dstMod.isEmpty: - positions = list(range(len(fit.modules))) + positions = positionsAll elif mstate.altDown: positions = getSimilarModPositions(fit.modules, dstMod) + failoverToAll = True else: positions = [fit.modules.index(dstMod)] if len(positions) > 0: - self.mainFrame.command.Submit(cmd.GuiChangeLocalModuleChargesCommand( - fitID=fitID, positions=positions, chargeItemID=itemID)) + command = cmd.GuiChangeLocalModuleChargesCommand(fitID=fitID, positions=positions, chargeItemID=itemID) + if not self.mainFrame.command.Submit(command) and failoverToAll: + self.mainFrame.command.Submit(cmd.GuiChangeLocalModuleChargesCommand( + fitID=fitID, positions=positionsAll, chargeItemID=itemID)) + def swapCargo(self, x, y, cargoItemID): """Swap a module from cargo to fitting window"""