From be2e0b5de486a90fb1f044f03dfb226b1ea52905 Mon Sep 17 00:00:00 2001 From: DarkPhoenix Date: Mon, 22 Apr 2019 17:33:40 +0300 Subject: [PATCH] Rely on clicked item instead of selection where it makes sense --- gui/builtinContextMenus/ammoToDmgPattern.py | 6 +-- gui/builtinContextMenus/boosterSideEffects.py | 2 +- gui/builtinContextMenus/cargoAdd.py | 2 +- gui/builtinContextMenus/cargoAddAmmo.py | 2 +- gui/builtinContextMenus/droneAddStack.py | 7 ++-- gui/builtinContextMenus/droneSplitStack.py | 9 ++-- gui/builtinContextMenus/fighterAbilities.py | 2 +- gui/builtinContextMenus/fitOpenNewTab.py | 5 +-- gui/builtinContextMenus/implantSetAdd.py | 2 +- gui/builtinContextMenus/itemAmountChange.py | 39 +++++++++-------- gui/builtinContextMenus/itemFill.py | 5 +-- gui/builtinContextMenus/itemMarketJump.py | 22 +++++----- gui/builtinContextMenus/itemProject.py | 11 +++-- gui/builtinContextMenus/itemRemove.py | 42 +++++++------------ gui/builtinContextMenus/itemStats.py | 4 +- .../itemVariationChange.py | 17 ++++---- gui/builtinContextMenus/moduleAmmoChange.py | 2 +- gui/builtinContextMenus/moduleFill.py | 5 +-- gui/builtinContextMenus/moduleMutations.py | 19 ++++----- gui/builtinContextMenus/moduleSpool.py | 2 +- gui/builtinContextMenus/skillAffectors.py | 4 +- 21 files changed, 93 insertions(+), 116 deletions(-) diff --git a/gui/builtinContextMenus/ammoToDmgPattern.py b/gui/builtinContextMenus/ammoToDmgPattern.py index 241afee19..ffb58827c 100644 --- a/gui/builtinContextMenus/ammoToDmgPattern.py +++ b/gui/builtinContextMenus/ammoToDmgPattern.py @@ -19,9 +19,8 @@ class AmmoToDmgPattern(ContextMenu): if srcContext not in ("marketItemGroup", "marketItemMisc") or self.mainFrame.getActiveFit() is None: return False - item = selection[0] for attr in ("emDamage", "thermalDamage", "explosiveDamage", "kineticDamage"): - if item.getAttribute(attr) is not None: + if mainItem.getAttribute(attr) is not None: return True return False @@ -30,10 +29,9 @@ class AmmoToDmgPattern(ContextMenu): return "Set {0} as Damage Pattern".format(itmContext if itmContext is not None else "Item") def activate(self, fullContext, mainItem, selection, i): - item = selection[0] fit = self.mainFrame.getActiveFit() sFit = Fit.getInstance() - sFit.setAsPattern(fit, item) + sFit.setAsPattern(fit, mainItem) wx.PostEvent(self.mainFrame, GE.FitChanged(fitID=fit)) def getBitmap(self, context, mainItem, selection): diff --git a/gui/builtinContextMenus/boosterSideEffects.py b/gui/builtinContextMenus/boosterSideEffects.py index 953d051df..726a408c0 100644 --- a/gui/builtinContextMenus/boosterSideEffects.py +++ b/gui/builtinContextMenus/boosterSideEffects.py @@ -21,7 +21,7 @@ class BoosterSideEffect(ContextMenu): if self.mainFrame.getActiveFit() is None or srcContext not in "boosterItem": return False - self.booster = selection[0] + self.booster = mainItem for effect in self.booster.sideEffects: if effect.effect.isImplemented: diff --git a/gui/builtinContextMenus/cargoAdd.py b/gui/builtinContextMenus/cargoAdd.py index e4f5002e4..5a856ec3e 100644 --- a/gui/builtinContextMenus/cargoAdd.py +++ b/gui/builtinContextMenus/cargoAdd.py @@ -29,7 +29,7 @@ class AddToCargo(ContextMenu): def activate(self, fullContext, mainItem, selection, i): fitID = self.mainFrame.getActiveFit() - typeID = int(selection[0].ID) + typeID = int(mainItem.ID) self.mainFrame.command.Submit(cmd.GuiAddCargoCommand( fitID=fitID, itemID=typeID, amount=1)) diff --git a/gui/builtinContextMenus/cargoAddAmmo.py b/gui/builtinContextMenus/cargoAddAmmo.py index d2456003c..08ca05081 100644 --- a/gui/builtinContextMenus/cargoAddAmmo.py +++ b/gui/builtinContextMenus/cargoAddAmmo.py @@ -24,7 +24,7 @@ class AddToCargoAmmo(ContextMenu): def activate(self, fullContext, mainItem, selection, i): fitID = self.mainFrame.getActiveFit() - typeID = int(selection[0].ID) + typeID = int(mainItem.ID) self.mainFrame.command.Submit(cmd.GuiAddCargoCommand( fitID=fitID, itemID=typeID, amount=1000)) self.mainFrame.additionsPane.select("Cargo") diff --git a/gui/builtinContextMenus/droneAddStack.py b/gui/builtinContextMenus/droneAddStack.py index 30f62497d..cbd8b4605 100644 --- a/gui/builtinContextMenus/droneAddStack.py +++ b/gui/builtinContextMenus/droneAddStack.py @@ -19,13 +19,12 @@ class DroneAddStack(ContextMenu): if self.mainFrame.getActiveFit() is None: return False - item = selection[0] - if item.category.name != 'Drone': + if mainItem.category.name != 'Drone': return False fitID = self.mainFrame.getActiveFit() fit = Fit.getInstance().getFit(fitID) - amount = droneStackLimit(fit, item) + amount = droneStackLimit(fit, mainItem) if amount < 1: return False @@ -39,7 +38,7 @@ class DroneAddStack(ContextMenu): def activate(self, fullContext, mainItem, selection, i): self.mainFrame.command.Submit(cmd.GuiAddLocalDroneCommand( fitID=self.mainFrame.getActiveFit(), - itemID=int(selection[0].ID), + itemID=int(mainItem.ID), amount=self.amount)) self.mainFrame.additionsPane.select('Drones') diff --git a/gui/builtinContextMenus/droneSplitStack.py b/gui/builtinContextMenus/droneSplitStack.py index 6e794bf41..564f27e9f 100644 --- a/gui/builtinContextMenus/droneSplitStack.py +++ b/gui/builtinContextMenus/droneSplitStack.py @@ -16,14 +16,13 @@ class DroneSplitStack(ContextMenu): self.settings = ContextMenuSettings.getInstance() def display(self, srcContext, mainItem, selection): - return srcContext == "droneItem" and selection[0].amount > 1 + return srcContext == "droneItem" and mainItem.amount > 1 def getText(self, itmContext, mainItem, selection): return "Split {0} Stack".format(itmContext) def activate(self, fullContext, mainItem, selection, i): - drone = selection[0] - dlg = DroneStackSplit(self.mainFrame, drone.amount) + dlg = DroneStackSplit(self.mainFrame, mainItem.amount) if dlg.ShowModal() == wx.ID_OK: @@ -34,8 +33,8 @@ class DroneSplitStack(ContextMenu): fit = Fit.getInstance().getFit(fitID) cleanInput = re.sub(r'[^0-9.]', '', dlg.input.GetLineText(0).strip()) - if drone in fit.drones: - position = fit.drones.index(drone) + if mainItem in fit.drones: + position = fit.drones.index(mainItem) self.mainFrame.command.Submit(cmd.GuiSplitLocalDroneStackCommand( fitID=fitID, position=position, amount=int(cleanInput))) diff --git a/gui/builtinContextMenus/fighterAbilities.py b/gui/builtinContextMenus/fighterAbilities.py index 5698c2b49..22d1a65fb 100644 --- a/gui/builtinContextMenus/fighterAbilities.py +++ b/gui/builtinContextMenus/fighterAbilities.py @@ -18,7 +18,7 @@ class FighterAbilities(ContextMenu): if self.mainFrame.getActiveFit() is None or srcContext not in ("fighterItem", "projectedFighter"): return False - self.fighter = selection[0] + self.fighter = mainItem self.isProjected = True if srcContext == "projectedFighter" else False return True diff --git a/gui/builtinContextMenus/fitOpenNewTab.py b/gui/builtinContextMenus/fitOpenNewTab.py index 77d406425..0e9114f25 100644 --- a/gui/builtinContextMenus/fitOpenNewTab.py +++ b/gui/builtinContextMenus/fitOpenNewTab.py @@ -16,7 +16,7 @@ class OpenFitInNewTab(ContextMenu): if srcContext not in ("projectedFit", "commandFit"): return False currentFitID = self.mainFrame.getActiveFit() - selectedFitID = selection[0].ID + selectedFitID = mainItem.ID if currentFitID == selectedFitID: return False return True @@ -25,8 +25,7 @@ class OpenFitInNewTab(ContextMenu): return "Open Fit in New Tab" def activate(self, fullContext, mainItem, selection, i): - fit = selection[0] - wx.PostEvent(self.mainFrame, FitSelected(fitID=fit.ID, startup=2)) + wx.PostEvent(self.mainFrame, FitSelected(fitID=mainItem.ID, startup=2)) OpenFitInNewTab.register() diff --git a/gui/builtinContextMenus/implantSetAdd.py b/gui/builtinContextMenus/implantSetAdd.py index 69768b2bc..4a3c1ceff 100644 --- a/gui/builtinContextMenus/implantSetAdd.py +++ b/gui/builtinContextMenus/implantSetAdd.py @@ -50,7 +50,7 @@ class addImplantSet(ContextMenu): self.context = context if len(selection) == 1: - self.selection = selection[0] # dirty hack here + self.selection = mainItem # dirty hack here self.idmap = {} diff --git a/gui/builtinContextMenus/itemAmountChange.py b/gui/builtinContextMenus/itemAmountChange.py index 6daa44d12..1c4b572ca 100644 --- a/gui/builtinContextMenus/itemAmountChange.py +++ b/gui/builtinContextMenus/itemAmountChange.py @@ -26,21 +26,20 @@ class ChangeItemAmount(ContextMenu): return "Change {0} Quantity".format(itmContext) def activate(self, fullContext, mainItem, selection, i): - thing = selection[0] mainFrame = gui.mainFrame.MainFrame.getInstance() fitID = mainFrame.getActiveFit() srcContext = fullContext[0] - if isinstance(thing, es_Fit): + if isinstance(mainItem, es_Fit): try: - value = thing.getProjectionInfo(fitID).amount + value = mainItem.getProjectionInfo(fitID).amount except AttributeError: return - elif isinstance(thing, es_Fighter): - value = thing.amountActive + elif isinstance(mainItem, es_Fighter): + value = mainItem.amountActive else: - value = thing.amount + value = mainItem.amount - dlg = AmountChanger(self.mainFrame, value, (0, 20)) if isinstance(thing, es_Fit) else AmountChanger(self.mainFrame, value) + dlg = AmountChanger(self.mainFrame, value, (0, 20)) if isinstance(mainItem, es_Fit) else AmountChanger(self.mainFrame, value) if dlg.ShowModal() == wx.ID_OK: if dlg.input.GetLineText(0).strip() == '': @@ -50,30 +49,30 @@ class ChangeItemAmount(ContextMenu): fit = sFit.getFit(fitID) cleanInput = int(float(re.sub(r'[^0-9.]', '', dlg.input.GetLineText(0).strip()))) - if isinstance(thing, es_Cargo): + if isinstance(mainItem, es_Cargo): self.mainFrame.command.Submit(cmd.GuiChangeCargoAmountCommand( - fitID=fitID, itemID=thing.itemID, amount=cleanInput)) - elif isinstance(thing, Drone): + fitID=fitID, itemID=mainItem.itemID, amount=cleanInput)) + elif isinstance(mainItem, Drone): if srcContext == "projectedDrone": self.mainFrame.command.Submit(cmd.GuiChangeProjectedDroneAmountCommand( - fitID=fitID, itemID=thing.itemID, amount=cleanInput)) + fitID=fitID, itemID=mainItem.itemID, amount=cleanInput)) else: - if thing in fit.drones: - position = fit.drones.index(thing) + if mainItem in fit.drones: + position = fit.drones.index(mainItem) self.mainFrame.command.Submit(cmd.GuiChangeLocalDroneAmountCommand( fitID=fitID, position=position, amount=cleanInput)) - elif isinstance(thing, es_Fit): + elif isinstance(mainItem, es_Fit): self.mainFrame.command.Submit(cmd.GuiChangeProjectedFitAmountCommand( - fitID=fitID, projectedFitID=thing.ID, amount=cleanInput)) - elif isinstance(thing, es_Fighter): + fitID=fitID, projectedFitID=mainItem.ID, amount=cleanInput)) + elif isinstance(mainItem, es_Fighter): if srcContext == "projectedFighter": - if thing in fit.projectedFighters: - position = fit.projectedFighters.index(thing) + if mainItem in fit.projectedFighters: + position = fit.projectedFighters.index(mainItem) self.mainFrame.command.Submit(cmd.GuiChangeProjectedFighterAmountCommand( fitID=fitID, position=position, amount=cleanInput)) else: - if thing in fit.fighters: - position = fit.fighters.index(thing) + if mainItem in fit.fighters: + position = fit.fighters.index(mainItem) self.mainFrame.command.Submit(cmd.GuiChangeLocalFighterAmountCommand( fitID=fitID, position=position, amount=cleanInput)) diff --git a/gui/builtinContextMenus/itemFill.py b/gui/builtinContextMenus/itemFill.py index 71ea59c4e..71c852d05 100644 --- a/gui/builtinContextMenus/itemFill.py +++ b/gui/builtinContextMenus/itemFill.py @@ -17,8 +17,7 @@ class FillWithItem(ContextMenu): return False if self.mainFrame.getActiveFit() is None: return False - item = selection[0] - if item.category.name != 'Module': + if mainItem.category.name != 'Module': return False return True @@ -28,7 +27,7 @@ class FillWithItem(ContextMenu): def activate(self, fullContext, mainItem, selection, i): self.mainFrame.command.Submit(cmd.GuiFillWithNewLocalModulesCommand( fitID=self.mainFrame.getActiveFit(), - itemID=int(selection[0].ID))) + itemID=int(mainItem.ID))) self.mainFrame.additionsPane.select('Drones') diff --git a/gui/builtinContextMenus/itemMarketJump.py b/gui/builtinContextMenus/itemMarketJump.py index 76ea37831..f6a6128f8 100644 --- a/gui/builtinContextMenus/itemMarketJump.py +++ b/gui/builtinContextMenus/itemMarketJump.py @@ -18,21 +18,21 @@ class JumpToMarketItem(ContextMenu): "implantItemChar", "fighterItem", "projectedFighter") - if srcContext not in validContexts or selection is None or len(selection) < 1: + if srcContext not in validContexts or mainItem is None: return False sMkt = Market.getInstance() - item = getattr(selection[0], "item", selection[0]) - isMutated = getattr(selection[0], "isMutated", False) + item = getattr(mainItem, "item", mainItem) + isMutated = getattr(mainItem, "isMutated", False) mktGrp = sMkt.getMarketGroupByItem(item) if mktGrp is None and isMutated: - mktGrp = sMkt.getMarketGroupByItem(selection[0].baseItem) + mktGrp = sMkt.getMarketGroupByItem(mainItem.baseItem) # 1663 is Special Edition Festival Assets, we don't have root group for it if mktGrp is None or mktGrp.ID == 1663: return False - doit = not selection[0].isEmpty if srcContext == "fittingModule" else True + doit = not mainItem.isEmpty if srcContext == "fittingModule" else True return doit def getText(self, itmContext, mainItem, selection): @@ -41,14 +41,14 @@ class JumpToMarketItem(ContextMenu): def activate(self, fullContext, mainItem, selection, i): srcContext = fullContext[0] if srcContext in ("fittingCharge", "projectedCharge"): - item = selection[0].charge - elif hasattr(selection[0], "item"): - if getattr(selection[0], "isMutated", False): - item = selection[0].baseItem + item = mainItem.charge + elif hasattr(mainItem, "item"): + if getattr(mainItem, "isMutated", False): + item = mainItem.baseItem else: - item = selection[0].item + item = mainItem.item else: - item = selection[0] + item = mainItem self.mainFrame.notebookBrowsers.SetSelection(0) self.mainFrame.marketBrowser.jump(item) diff --git a/gui/builtinContextMenus/itemProject.py b/gui/builtinContextMenus/itemProject.py index 441fba841..bd568a317 100644 --- a/gui/builtinContextMenus/itemProject.py +++ b/gui/builtinContextMenus/itemProject.py @@ -24,21 +24,20 @@ class ProjectItem(ContextMenu): if fit.isStructure: return False - item = selection[0] - return item.isType("projected") + return mainItem.isType("projected") def getText(self, itmContext, mainItem, selection): return "Project {0} onto Fit".format(itmContext) def activate(self, fullContext, mainItem, selection, i): fitID = self.mainFrame.getActiveFit() - category = selection[0].category.name + category = mainItem.category.name if category == 'Module': - success = self.mainFrame.command.Submit(cmd.GuiAddProjectedModuleCommand(fitID=fitID, itemID=selection[0].ID)) + success = self.mainFrame.command.Submit(cmd.GuiAddProjectedModuleCommand(fitID=fitID, itemID=mainItem.ID)) elif category == 'Drone': - success = self.mainFrame.command.Submit(cmd.GuiAddProjectedDroneCommand(fitID=fitID, itemID=selection[0].ID)) + success = self.mainFrame.command.Submit(cmd.GuiAddProjectedDroneCommand(fitID=fitID, itemID=mainItem.ID)) elif category == 'Fighter': - success = self.mainFrame.command.Submit(cmd.GuiAddProjectedFighterCommand(fitID=fitID, itemID=selection[0].ID)) + success = self.mainFrame.command.Submit(cmd.GuiAddProjectedFighterCommand(fitID=fitID, itemID=mainItem.ID)) else: success = False if success: diff --git a/gui/builtinContextMenus/itemRemove.py b/gui/builtinContextMenus/itemRemove.py index 4289e110e..30ec5bed5 100644 --- a/gui/builtinContextMenus/itemRemove.py +++ b/gui/builtinContextMenus/itemRemove.py @@ -40,57 +40,47 @@ class RemoveItem(ContextMenu): self.mainFrame.command.Submit(cmd.GuiRemoveLocalModuleCommand( fitID=fitID, positions=positions)) elif srcContext == "droneItem": - drone = selection[0] - if drone in fit.drones: - position = fit.drones.index(drone) + if mainItem in fit.drones: + position = fit.drones.index(mainItem) self.mainFrame.command.Submit(cmd.GuiRemoveLocalDroneCommand( fitID=fitID, position=position, amount=math.inf)) elif srcContext == "fighterItem": - fighter = selection[0] - if fighter in fit.fighters: - position = fit.fighters.index(fighter) + if mainItem in fit.fighters: + position = fit.fighters.index(mainItem) self.mainFrame.command.Submit(cmd.GuiRemoveLocalFighterCommand( fitID=fitID, position=position)) elif srcContext == "implantItem": - implant = selection[0] - if implant in fit.implants: - position = fit.implants.index(implant) + if mainItem in fit.implants: + position = fit.implants.index(mainItem) self.mainFrame.command.Submit(cmd.GuiRemoveImplantCommand( fitID=fitID, position=position)) elif srcContext == "boosterItem": - booster = selection[0] - if booster in fit.boosters: - position = fit.boosters.index(booster) + if mainItem in fit.boosters: + position = fit.boosters.index(mainItem) self.mainFrame.command.Submit(cmd.GuiRemoveBoosterCommand( fitID=fitID, position=position)) elif srcContext == "cargoItem": - cargo = selection[0] self.mainFrame.command.Submit(cmd.GuiRemoveCargoCommand( - fitID=fitID, itemID=cargo.itemID)) + fitID=fitID, itemID=mainItem.itemID)) elif srcContext == "projectedFit": - projectedFit = selection[0] self.mainFrame.command.Submit(cmd.GuiRemoveProjectedFitCommand( - fitID=fitID, projectedFitID=projectedFit.ID, amount=math.inf)) + fitID=fitID, projectedFitID=mainItem.ID, amount=math.inf)) elif srcContext == "projectedModule": - mod = selection[0] - if mod in fit.projectedModules: - position = fit.projectedModules.index(mod) + if mainItem in fit.projectedModules: + position = fit.projectedModules.index(mainItem) self.mainFrame.command.Submit(cmd.GuiRemoveProjectedModuleCommand( fitID=fitID, position=position)) elif srcContext == "projectedDrone": - drone = selection[0] self.mainFrame.command.Submit(cmd.GuiRemoveProjectedDroneCommand( - fitID=fitID, itemID=drone.itemID, amount=math.inf)) + fitID=fitID, itemID=mainItem.itemID, amount=math.inf)) elif srcContext == "projectedFighter": - fighter = selection[0] - if fighter in fit.projectedFighters: - position = fit.projectedFighters.index(fighter) + if mainItem in fit.projectedFighters: + position = fit.projectedFighters.index(mainItem) self.mainFrame.command.Submit(cmd.GuiRemoveProjectedFighterCommand( fitID=fitID, position=position)) elif srcContext == "commandFit": - commandFit = selection[0] self.mainFrame.command.Submit(cmd.GuiRemoveCommandFitCommand( - fitID=fitID, commandFitID=commandFit.ID)) + fitID=fitID, commandFitID=mainItem.ID)) RemoveItem.register() diff --git a/gui/builtinContextMenus/itemStats.py b/gui/builtinContextMenus/itemStats.py index 39ed8a931..5bdde1798 100644 --- a/gui/builtinContextMenus/itemStats.py +++ b/gui/builtinContextMenus/itemStats.py @@ -35,9 +35,9 @@ class ItemStats(ContextMenu): sFit = Fit.getInstance() stuff = sFit.getFit(fitID).ship elif srcContext == "fittingMode": - stuff = selection[0].item + stuff = mainItem.item else: - stuff = selection[0] + stuff = mainItem if srcContext == "fittingModule" and stuff.isEmpty: return diff --git a/gui/builtinContextMenus/itemVariationChange.py b/gui/builtinContextMenus/itemVariationChange.py index 8ccd2348d..d27eef91b 100644 --- a/gui/builtinContextMenus/itemVariationChange.py +++ b/gui/builtinContextMenus/itemVariationChange.py @@ -43,6 +43,7 @@ class ChangeItemToVariation(ContextMenu): if variations != self.variations: return False + self.mainItem = mainItem self.selection = selection if len(self.variations) == 1: @@ -145,45 +146,45 @@ class ChangeItemToVariation(ContextMenu): self.mainFrame.command.Submit(cmd.GuiChangeLocalModuleMetasCommand( fitID=fitID, positions=positions, newItemID=item.ID)) elif context == 'droneItem': - drone = self.selection[0] + drone = self.mainItem if drone in fit.drones: position = fit.drones.index(drone) self.mainFrame.command.Submit(cmd.GuiChangeLocalDroneMetaCommand( fitID=fitID, position=position, newItemID=item.ID)) elif context == 'fighterItem': - fighter = self.selection[0] + fighter = self.mainItem if fighter in fit.fighters: position = fit.fighters.index(fighter) self.mainFrame.command.Submit(cmd.GuiChangeLocalFighterMetaCommand( fitID=fitID, position=position, newItemID=item.ID)) elif context == 'implantItem': - implant = self.selection[0] + implant = self.mainItem if implant in fit.implants: position = fit.implants.index(implant) self.mainFrame.command.Submit(cmd.GuiChangeImplantMetaCommand( fitID=fitID, position=position, newItemID=item.ID)) elif context == 'boosterItem': - booster = self.selection[0] + booster = self.mainItem if booster in fit.boosters: position = fit.boosters.index(booster) self.mainFrame.command.Submit(cmd.GuiChangeBoosterMetaCommand( fitID=fitID, position=position, newItemID=item.ID)) elif context == 'cargoItem': - cargo = self.selection[0] + cargo = self.mainItem self.mainFrame.command.Submit(cmd.GuiChangeCargoMetaCommand( fitID=fitID, itemID=cargo.itemID, newItemID=item.ID)) elif context == 'projectedModule': - mod = self.selection[0] + mod = self.mainItem if mod in fit.projectedModules: position = fit.projectedModules.index(mod) self.mainFrame.command.Submit(cmd.GuiChangeProjectedModuleMetaCommand( fitID=fitID, position=position, newItemID=item.ID)) elif context == 'projectedDrone': - drone = self.selection[0] + drone = self.mainItem self.mainFrame.command.Submit(cmd.GuiChangeProjectedDroneMetaCommand( fitID=fitID, itemID=drone.itemID, newItemID=item.ID)) elif context == 'projectedFighter': - fighter = self.selection[0] + fighter = self.mainItem if fighter in fit.projectedFighters: position = fit.projectedFighters.index(fighter) self.mainFrame.command.Submit(cmd.GuiChangeProjectedFighterMetaCommand( diff --git a/gui/builtinContextMenus/moduleAmmoChange.py b/gui/builtinContextMenus/moduleAmmoChange.py index ab075881a..1cc2f760f 100644 --- a/gui/builtinContextMenus/moduleAmmoChange.py +++ b/gui/builtinContextMenus/moduleAmmoChange.py @@ -25,7 +25,7 @@ class ChangeModuleAmmo(ContextMenu): if self.mainFrame.getActiveFit() is None or srcContext not in ("fittingModule", "projectedModule"): return False - modules = selection if srcContext == "fittingModule" else (selection[0],) + modules = selection if srcContext == "fittingModule" else (mainItem,) validCharges = None checkedTypes = set() diff --git a/gui/builtinContextMenus/moduleFill.py b/gui/builtinContextMenus/moduleFill.py index 0791d88a1..3eeb10d6d 100644 --- a/gui/builtinContextMenus/moduleFill.py +++ b/gui/builtinContextMenus/moduleFill.py @@ -25,9 +25,8 @@ class FillWithModule(ContextMenu): if srcContext == "fittingModule": fit = Fit.getInstance().getFit(fitID) - mod = selection[0] - if mod in fit.modules: - position = fit.modules.index(mod) + if mainItem in fit.modules: + position = fit.modules.index(mainItem) self.mainFrame.command.Submit(cmd.GuiFillWithClonedLocalModulesCommand( fitID=fitID, position=position)) diff --git a/gui/builtinContextMenus/moduleMutations.py b/gui/builtinContextMenus/moduleMutations.py index d69e9f2e2..6bc7502cb 100644 --- a/gui/builtinContextMenus/moduleMutations.py +++ b/gui/builtinContextMenus/moduleMutations.py @@ -22,32 +22,28 @@ class ChangeModuleMutation(ContextMenu): if srcContext != "fittingModule" or self.mainFrame.getActiveFit() is None: return False - mod = selection[0] - if len(mod.item.mutaplasmids) == 0 and not mod.isMutated: + if len(mainItem.item.mutaplasmids) == 0 and not mainItem.isMutated: return False return True def getText(self, itmContext, mainItem, selection): - mod = selection[0] - return "Apply Mutaplasmid" if not mod.isMutated else "Revert to {}".format(mod.baseItem.name) + return "Apply Mutaplasmid" if not mainItem.isMutated else "Revert to {}".format(mainItem.baseItem.name) def getSubMenu(self, context, mainItem, selection, rootMenu, i, pitem): - if selection[0].isMutated: + if mainItem.isMutated: return None msw = True if "wxMSW" in wx.PlatformInfo else False self.skillIds = {} sub = wx.Menu() - mod = selection[0] - menu = rootMenu if msw else sub - for item in mod.item.mutaplasmids: + for item in mainItem.item.mutaplasmids: label = item.item.name id = ContextMenu.nextID() - self.eventIDs[id] = (item, mod) + self.eventIDs[id] = (item, mainItem) skillItem = wx.MenuItem(menu, id, label) menu.Bind(wx.EVT_MENU, self.handleMenu, skillItem) sub.Append(skillItem) @@ -64,11 +60,10 @@ class ChangeModuleMutation(ContextMenu): fitID=fitID, position=position, mutaplasmid=mutaplasmid)) def activate(self, fullContext, mainItem, selection, i): - mod = selection[0] fitID = self.mainFrame.getActiveFit() fit = Fit.getInstance().getFit(fitID) - if mod in fit.modules: - position = fit.modules.index(mod) + if mainItem in fit.modules: + position = fit.modules.index(mainItem) self.mainFrame.command.Submit(GuiRevertMutatedLocalModuleCommand( fitID=fitID, position=position)) diff --git a/gui/builtinContextMenus/moduleSpool.py b/gui/builtinContextMenus/moduleSpool.py index 58b3a047b..78d4e7f2a 100644 --- a/gui/builtinContextMenus/moduleSpool.py +++ b/gui/builtinContextMenus/moduleSpool.py @@ -24,7 +24,7 @@ class ChangeModuleSpool(ContextMenu): if srcContext not in ('fittingModule', 'projectedModule') or self.mainFrame.getActiveFit() is None: return False - self.mod = selection[0] + self.mod = mainItem self.context = srcContext return self.mod.item.group.name in ("Precursor Weapon", "Mutadaptive Remote Armor Repairer") diff --git a/gui/builtinContextMenus/skillAffectors.py b/gui/builtinContextMenus/skillAffectors.py index a228e0672..9c8bc1769 100644 --- a/gui/builtinContextMenus/skillAffectors.py +++ b/gui/builtinContextMenus/skillAffectors.py @@ -39,9 +39,9 @@ class ChangeAffectingSkills(ContextMenu): self.stuff = sFit.getFit(fitID).ship cont = sFit.getFit(fitID).ship.itemModifiedAttributes elif srcContext == "fittingCharge": - cont = selection[0].chargeModifiedAttributes + cont = mainItem.chargeModifiedAttributes else: - cont = selection[0].itemModifiedAttributes + cont = mainItem.itemModifiedAttributes skills = set()