Set charge to all modules when cmd/control is pressed, instead of having separate menu item
This commit is contained in:
@@ -9,7 +9,6 @@ from gui.builtinContextMenus import ( # noqa: E402,F401
|
||||
# Often-used item manipulations
|
||||
shipModeChange,
|
||||
moduleAmmoChange,
|
||||
moduleAmmoChangeAll,
|
||||
moduleSpool,
|
||||
boosterSideEffects,
|
||||
fighterAbilities,
|
||||
|
||||
@@ -6,6 +6,7 @@ import gui.mainFrame
|
||||
from eos.const import FittingHardpoint
|
||||
from gui.bitmap_loader import BitmapLoader
|
||||
from gui.contextMenu import ContextMenu
|
||||
from service.fit import Fit
|
||||
from service.market import Market
|
||||
from service.settings import ContextMenuSettings
|
||||
|
||||
@@ -227,12 +228,32 @@ class ChangeModuleAmmo(ContextMenu):
|
||||
return
|
||||
|
||||
fitID = self.mainFrame.getActiveFit()
|
||||
if self.context == 'fittingModule':
|
||||
self.mainFrame.command.Submit(cmd.GuiChangeLocalModuleChargesCommand(
|
||||
fitID=fitID, modules=self.modules, chargeItemID=charge.ID if charge is not None else None))
|
||||
elif self.context == 'projectedModule':
|
||||
self.mainFrame.command.Submit(cmd.GuiChangeProjectedModuleChargesCommand(
|
||||
fitID=fitID, modules=self.modules, chargeItemID=charge.ID if charge is not None else None))
|
||||
# Set to all modules if ctrl is pressed
|
||||
if wx.GetMouseState().CmdDown():
|
||||
fit = Fit.getInstance().getFit(fitID)
|
||||
selectedModule = self.modules[0]
|
||||
if self.context == 'fittingModule':
|
||||
self.mainFrame.command.Submit(cmd.GuiChangeLocalModuleChargesCommand(
|
||||
fitID=fitID,
|
||||
modules=[m for m in fit.modules if m.itemID is not None and m.itemID == selectedModule.itemID],
|
||||
chargeItemID=charge.ID if charge is not None else None))
|
||||
elif self.context == 'projectedModule':
|
||||
self.mainFrame.command.Submit(cmd.GuiChangeProjectedModuleChargesCommand(
|
||||
fitID=fitID,
|
||||
modules=[m for m in fit.projectedModules if
|
||||
m.itemID is not None and m.itemID == selectedModule.itemID],
|
||||
chargeItemID=charge.ID if charge is not None else None))
|
||||
else:
|
||||
if self.context == 'fittingModule':
|
||||
self.mainFrame.command.Submit(cmd.GuiChangeLocalModuleChargesCommand(
|
||||
fitID=fitID,
|
||||
modules=self.modules,
|
||||
chargeItemID=charge.ID if charge is not None else None))
|
||||
elif self.context == 'projectedModule':
|
||||
self.mainFrame.command.Submit(cmd.GuiChangeProjectedModuleChargesCommand(
|
||||
fitID=fitID,
|
||||
modules=self.modules,
|
||||
chargeItemID=charge.ID if charge is not None else None))
|
||||
|
||||
|
||||
ChangeModuleAmmo.register()
|
||||
|
||||
@@ -1,58 +0,0 @@
|
||||
import gui.fitCommands as cmd
|
||||
import gui.mainFrame
|
||||
from gui.builtinContextMenus.moduleAmmoChange import ChangeModuleAmmo
|
||||
from service.fit import Fit
|
||||
from service.settings import ContextMenuSettings
|
||||
|
||||
|
||||
class ChangeModuleAmmoAll(ChangeModuleAmmo):
|
||||
|
||||
def __init__(self):
|
||||
super(ChangeModuleAmmoAll, self).__init__()
|
||||
self.mainFrame = gui.mainFrame.MainFrame.getInstance()
|
||||
self.settings = ContextMenuSettings.getInstance()
|
||||
|
||||
def getText(self, itmContext, selection):
|
||||
return "Charge (All)"
|
||||
|
||||
def handleAmmoSwitch(self, event):
|
||||
if len(self.modules) != 1:
|
||||
event.Skip()
|
||||
return
|
||||
|
||||
charge = self.chargeIds.get(event.Id, False)
|
||||
if charge is False:
|
||||
event.Skip()
|
||||
return
|
||||
|
||||
fitID = self.mainFrame.getActiveFit()
|
||||
fit = Fit.getInstance().getFit(fitID)
|
||||
|
||||
selectedModule = self.modules[0]
|
||||
if self.context == 'fittingModule':
|
||||
self.mainFrame.command.Submit(cmd.GuiChangeLocalModuleChargesCommand(
|
||||
fitID=fitID,
|
||||
modules=[m for m in fit.modules if m.itemID is not None and m.itemID == selectedModule.itemID],
|
||||
chargeItemID=charge.ID if charge is not None else None))
|
||||
elif self.context == 'projectedModule':
|
||||
self.mainFrame.command.Submit(cmd.GuiChangeProjectedModuleChargesCommand(
|
||||
fitID=fitID,
|
||||
modules=[m for m in fit.projectedModules if m.itemID is not None and m.itemID == selectedModule.itemID],
|
||||
chargeItemID=charge.ID if charge is not None else None))
|
||||
|
||||
def display(self, srcContext, selection):
|
||||
if not self.settings.get('moduleGlobalAmmoPicker'):
|
||||
return False
|
||||
|
||||
try:
|
||||
selectionLen = len(selection)
|
||||
except:
|
||||
pass
|
||||
else:
|
||||
if selectionLen != 1:
|
||||
return False
|
||||
|
||||
return super(ChangeModuleAmmoAll, self).display(srcContext, selection)
|
||||
|
||||
|
||||
ChangeModuleAmmoAll.register()
|
||||
@@ -59,20 +59,10 @@ class PFContextMenuPref(PreferenceView):
|
||||
rbSizerRow2.Add(self.rbBox4, 1, wx.ALL, 5)
|
||||
self.rbBox4.Bind(wx.EVT_RADIOBOX, self.OnSetting4Change)
|
||||
|
||||
# self.rbBox5 = wx.RadioBox(panel, -1, "Charge", wx.DefaultPosition, wx.DefaultSize, ['Disabled', 'Enabled'], 1, wx.RA_SPECIFY_COLS)
|
||||
# self.rbBox5.SetSelection(self.settings.get('moduleAmmoPicker'))
|
||||
# rbSizerRow2.Add(self.rbBox5, 0, wx.ALL, 5)
|
||||
# self.rbBox5.Bind(wx.EVT_RADIOBOX, self.OnSetting5Change)
|
||||
|
||||
self.rbBox6 = wx.RadioBox(panel, -1, "Charge (All)", wx.DefaultPosition, wx.DefaultSize, ['Disabled', 'Enabled'], 1, wx.RA_SPECIFY_COLS)
|
||||
self.rbBox6.SetSelection(self.settings.get('moduleGlobalAmmoPicker'))
|
||||
rbSizerRow2.Add(self.rbBox6, 1, wx.ALL, 5)
|
||||
self.rbBox6.Bind(wx.EVT_RADIOBOX, self.OnSetting6Change)
|
||||
|
||||
self.rbBox7 = wx.RadioBox(panel, -1, "Project onto Fit", wx.DefaultPosition, wx.DefaultSize, ['Disabled', 'Enabled'], 1, wx.RA_SPECIFY_COLS)
|
||||
self.rbBox7.SetSelection(self.settings.get('project'))
|
||||
rbSizerRow2.Add(self.rbBox7, 1, wx.ALL, 5)
|
||||
self.rbBox7.Bind(wx.EVT_RADIOBOX, self.OnSetting7Change)
|
||||
self.rbBox5 = wx.RadioBox(panel, -1, "Project onto Fit", wx.DefaultPosition, wx.DefaultSize, ['Disabled', 'Enabled'], 1, wx.RA_SPECIFY_COLS)
|
||||
self.rbBox5.SetSelection(self.settings.get('project'))
|
||||
rbSizerRow2.Add(self.rbBox5, 1, wx.ALL, 5)
|
||||
self.rbBox5.Bind(wx.EVT_RADIOBOX, self.OnSetting5Change)
|
||||
|
||||
mainSizer.Add(rbSizerRow2, 1, wx.ALL | wx.EXPAND, 0)
|
||||
|
||||
@@ -107,12 +97,6 @@ class PFContextMenuPref(PreferenceView):
|
||||
self.settings.set('metaSwap', event.GetInt())
|
||||
|
||||
def OnSetting5Change(self, event):
|
||||
self.settings.set('moduleAmmoPicker', event.GetInt())
|
||||
|
||||
def OnSetting6Change(self, event):
|
||||
self.settings.set('moduleGlobalAmmoPicker', event.GetInt())
|
||||
|
||||
def OnSetting7Change(self, event):
|
||||
self.settings.set('project', event.GetInt())
|
||||
|
||||
def OnSetting8Change(self, event):
|
||||
|
||||
@@ -482,7 +482,6 @@ class ContextMenuSettings(object):
|
||||
"marketJump" : 1,
|
||||
"metaSwap" : 1,
|
||||
"moduleAmmoPicker" : 1,
|
||||
"moduleGlobalAmmoPicker": 1,
|
||||
"openFit" : 1,
|
||||
"priceClear" : 1,
|
||||
"project" : 1,
|
||||
|
||||
Reference in New Issue
Block a user