Change order of context menus

This commit is contained in:
DarkPhoenix
2019-04-16 19:26:45 +03:00
parent 5af211778b
commit af2da86f6f
4 changed files with 50 additions and 79 deletions

View File

@@ -0,0 +1,42 @@
# noinspection PyUnresolvedReferences
from gui.builtinContextMenus import ( # noqa: E402,F401
# Various command and projected-related items which we want to have first,
# before generic commands
fitOpenNewTab,
envEffectAdd,
fitAddCurrentlyOpen,
commandFitAdd,
# Often-used item manipulations
shipModeChange,
moduleAmmoChange,
moduleAmmoChangeAll,
moduleSpool,
boosterSideEffects,
fighterAbilities,
# Item info
itemStats,
itemMarketJump,
shipJump,
# Generic item manipulations
itemRemove,
moduleMutations,
itemAmountChange,
droneSplitStack,
itemVariationChange,
moduleFill,
skillAffectors,
# Market stuff
droneAddStack,
cargoAdd,
cargoAddAmmo,
itemProject,
ammoToDmgPattern,
implantSetAdd,
# Price
priceOptions,
# Resistance panel
damagePatternChange,
# Firepower panel
factorReload,
targetResists,
)

View File

@@ -1,36 +0,0 @@
import math
import gui.fitCommands as cmd
import gui.mainFrame
from gui.contextMenu import ContextMenu
from service.fit import Fit
from service.settings import ContextMenuSettings
class DroneRemoveStack(ContextMenu):
def __init__(self):
self.mainFrame = gui.mainFrame.MainFrame.getInstance()
self.settings = ContextMenuSettings.getInstance()
def display(self, srcContext, selection):
if not self.settings.get('droneRemoveStack'):
return False
if srcContext not in ('droneItem', 'projectedDrone'):
return False
return True
def getText(self, itmContext, selection):
return "Remove {} Stack".format(itmContext)
def activate(self, fullContext, selection, i):
drone = selection[0]
fitID = self.mainFrame.getActiveFit()
if 'droneItem' in fullContext:
self.mainFrame.command.Submit(cmd.GuiRemoveLocalDroneCommand(
fitID=fitID, position=Fit.getInstance().getFit(fitID).drones.index(drone), amount=math.inf))
if 'projectedDrone' in fullContext:
self.mainFrame.command.Submit(cmd.GuiRemoveProjectedDroneCommand(
fitID=fitID, itemID=drone.itemID, amount=math.inf))
DroneRemoveStack.register()

View File

@@ -1,3 +1,5 @@
import math
import gui.fitCommands as cmd
import gui.mainFrame
from gui.contextMenu import ContextMenu
@@ -14,10 +16,9 @@ class RemoveItem(ContextMenu):
if not self.settings.get('itemRemove'):
return False
return srcContext in ("fittingModule", "fittingCharge",
"droneItem", "implantItem",
"boosterItem", "projectedModule",
"projectedCharge", "cargoItem",
return srcContext in ("fittingModule", "droneItem",
"implantItem", "boosterItem",
"projectedModule", "cargoItem",
"projectedFit", "projectedDrone",
"fighterItem", "projectedFighter",
"commandFit")
@@ -40,7 +41,7 @@ class RemoveItem(ContextMenu):
fitID=fitID, modules=selection, chargeItemID=None))
elif srcContext == "droneItem":
self.mainFrame.command.Submit(cmd.GuiRemoveLocalDroneCommand(
fitID=fitID, position=fit.drones.index(selection[0]), amount=1))
fitID=fitID, position=fit.drones.index(selection[0]), amount=math.inf))
elif srcContext == "fighterItem":
self.mainFrame.command.Submit(cmd.GuiRemoveLocalFighterCommand(
fitID=fitID, position=fit.fighters.index(selection[0])))
@@ -61,13 +62,10 @@ class RemoveItem(ContextMenu):
fitID=fitID, position=fit.projectedModules.index(selection[0])))
elif srcContext == "projectedDrone":
self.mainFrame.command.Submit(cmd.GuiRemoveProjectedDroneCommand(
fitID=fitID, itemID=selection[0].itemID, amount=1))
fitID=fitID, itemID=selection[0].itemID, amount=math.inf))
elif srcContext == "projectedFighter":
self.mainFrame.command.Submit(cmd.GuiRemoveProjectedFighterCommand(
fitID=fitID, position=fit.projectedFighters.index(selection[0])))
elif srcContext == "projectedCharge":
self.mainFrame.command.Submit(cmd.GuiChangeProjectedModuleChargesCommand(
fitID=fitID, modules=[selection[0]], chargeItemID=None))
elif srcContext == "commandFit":
self.mainFrame.command.Submit(cmd.GuiRemoveCommandFitCommand(
fitID=fitID, commandFitID=selection[0].ID))