Recalc all fits which might need that when changing factorReload flag
This commit is contained in:
@@ -137,6 +137,10 @@ class Fit(object):
|
||||
self.ecmProjectedStr = 1
|
||||
self.commandBonuses = {}
|
||||
|
||||
@property
|
||||
def hasDpsData(self):
|
||||
return len(self.__weaponDpsMap) > 0
|
||||
|
||||
@property
|
||||
def targetResists(self):
|
||||
return self.__targetResists
|
||||
|
||||
@@ -25,12 +25,8 @@ class FactorReload(ContextMenuUnconditional):
|
||||
return "Factor in Reload Time"
|
||||
|
||||
def activate(self, fullContext, i):
|
||||
refreshFitIDs = set()
|
||||
fitID = self.mainFrame.getActiveFit()
|
||||
if fitID is not None:
|
||||
refreshFitIDs.add(fitID)
|
||||
Fit.getInstance().toggleFactorReload(fitsIdToRefresh=refreshFitIDs)
|
||||
for fitID in refreshFitIDs:
|
||||
fitIDs = Fit.getInstance().toggleFactorReload()
|
||||
for fitID in fitIDs:
|
||||
wx.PostEvent(self.mainFrame, GE.FitChanged(fitID=fitID))
|
||||
|
||||
@property
|
||||
|
||||
@@ -123,12 +123,8 @@ class PFFittingEnginePref(PreferenceView):
|
||||
self.engine_settings.set("globalDefaultSpoolupPercentage", self.spoolup_value.GetValue() / 100)
|
||||
|
||||
def OnCBGlobalForceReloadStateChange(self, event):
|
||||
refreshFitIDs = set()
|
||||
fitID = self.mainFrame.getActiveFit()
|
||||
if fitID is not None:
|
||||
refreshFitIDs.add(fitID)
|
||||
self.sFit.toggleFactorReload(value=bool(self.cbGlobalForceReload.GetValue()), fitsIdToRefresh=refreshFitIDs)
|
||||
for fitID in refreshFitIDs:
|
||||
fitIDs = self.sFit.toggleFactorReload(value=bool(self.cbGlobalForceReload.GetValue()))
|
||||
for fitID in fitIDs:
|
||||
wx.PostEvent(self.mainFrame, GE.FitChanged(fitID=fitID))
|
||||
|
||||
def OnCBStrictSkillLevelsChange(self, event):
|
||||
|
||||
@@ -172,14 +172,6 @@ class FitItem(SFItem.SFBrowserItem):
|
||||
def OpenNewTab(self, evt):
|
||||
self.selectFit(newTab=True)
|
||||
|
||||
def OnToggleBooster(self, event):
|
||||
sFit = Fit.getInstance()
|
||||
sFit.toggleBoostFit(self.fitID)
|
||||
self.fitBooster = not self.fitBooster
|
||||
self.boosterBtn.Show(self.fitBooster)
|
||||
self.Refresh()
|
||||
wx.PostEvent(self.mainFrame, BoosterListUpdated())
|
||||
event.Skip()
|
||||
|
||||
def OnProjectToFit(self, event):
|
||||
activeFit = self.mainFrame.getActiveFit()
|
||||
|
||||
@@ -20,6 +20,7 @@
|
||||
import copy
|
||||
import datetime
|
||||
from time import time
|
||||
from weakref import WeakSet
|
||||
|
||||
import wx
|
||||
from logbook import Logger
|
||||
@@ -71,7 +72,7 @@ class Fit:
|
||||
self.targetResists = None
|
||||
self.character = saveddata_Character.getAll5()
|
||||
self.booster = False
|
||||
self.dirtyFitIDs = set()
|
||||
self._loadedFits = WeakSet()
|
||||
|
||||
serviceFittingDefaultOptions = {
|
||||
"useGlobalCharacter": False,
|
||||
@@ -179,13 +180,6 @@ class Fit:
|
||||
self.fill(fit)
|
||||
return fit.ID
|
||||
|
||||
@staticmethod
|
||||
def toggleBoostFit(fitID):
|
||||
pyfalog.debug("Toggling as booster for fit ID: {0}", fitID)
|
||||
fit = eos.db.getFit(fitID)
|
||||
fit.booster = not fit.booster
|
||||
eos.db.commit()
|
||||
|
||||
@staticmethod
|
||||
def deleteFit(fitID):
|
||||
fit = eos.db.getFit(fitID)
|
||||
@@ -249,11 +243,16 @@ class Fit:
|
||||
fit.notes = notes
|
||||
eos.db.commit()
|
||||
|
||||
def toggleFactorReload(self, value=None, fitsIdToRefresh=()):
|
||||
def toggleFactorReload(self, value=None):
|
||||
self.serviceFittingOptions['useGlobalForceReload'] = value if value is not None else not self.serviceFittingOptions['useGlobalForceReload']
|
||||
for fitID in fitsIdToRefresh:
|
||||
fit = self.getFit(fitID)
|
||||
self.recalc(fit)
|
||||
fitIDs = set()
|
||||
for fit in set(self._loadedFits):
|
||||
if fit is None:
|
||||
continue
|
||||
if fit.hasDpsData:
|
||||
self.recalc(fit)
|
||||
fitIDs.add(fit.ID)
|
||||
return fitIDs
|
||||
|
||||
def switchFit(self, fitID):
|
||||
pyfalog.debug("Switching fit to fit ID: {0}", fitID)
|
||||
@@ -293,6 +292,8 @@ class Fit:
|
||||
if fit is None:
|
||||
return None
|
||||
|
||||
self._loadedFits.add(fit)
|
||||
|
||||
if basic:
|
||||
return fit
|
||||
|
||||
|
||||
Reference in New Issue
Block a user