diff --git a/gui/builtinContextMenus/__init__.py b/gui/builtinContextMenus/__init__.py index b26d02851..808202464 100644 --- a/gui/builtinContextMenus/__init__.py +++ b/gui/builtinContextMenus/__init__.py @@ -1,2 +1,2 @@ __all__ = ["moduleAmmoPicker", "itemStats", "damagePattern", "marketJump", "droneSplit", - "ammoPattern", "project"] + "ammoPattern", "project", "factorReload"] diff --git a/gui/builtinContextMenus/factorReload.py b/gui/builtinContextMenus/factorReload.py new file mode 100755 index 000000000..5a889fbb7 --- /dev/null +++ b/gui/builtinContextMenus/factorReload.py @@ -0,0 +1,34 @@ +from gui.contextMenu import ContextMenu +import gui.mainFrame +import service +import gui.fittingView +import wx +from gui import bitmapLoader + +class FactorReload(ContextMenu): + def __init__(self): + self.mainFrame = gui.mainFrame.MainFrame.getInstance() + + def display(self, context, selection): + return context in ("firepowerViewFull",) and self.mainFrame.getActiveFit() is not None + + def getText(self, context, selection): + return "Factor in Reload Time" + + def activate(self, context, selection, i): + sFit = service.Fit.getInstance() + fitID = self.mainFrame.getActiveFit() + sFit.toggleFactorReload(fitID) + wx.PostEvent(self.mainFrame, gui.fittingView.FitChanged(fitID=fitID)) + + def getBitmap(self, context, selection): + sFit = service.Fit.getInstance() + fitID = self.mainFrame.getActiveFit() + fit = sFit.getFit(fitID) + if fit.factorReload: + return bitmapLoader.getBitmap("state_active_small", "icons") + else: + return None + + +FactorReload.register() diff --git a/service/fit.py b/service/fit.py index ff3f96187..2e3f0d16c 100644 --- a/service/fit.py +++ b/service/fit.py @@ -86,6 +86,16 @@ class Fit(object): fit.clear() return fit + def toggleFactorReload(self, fitID): + if fitID is None: + return None + + fit = eos.db.getFit(fitID) + fit.factorReload = not fit.factorReload + eos.db.commit() + fit.clear() + fit.calculateModifiedAttributes() + def getFit(self, fitID): if fitID is None: return None