Change the way force reload setting is changed

This commit is contained in:
DarkPhoenix
2019-07-05 00:36:44 +03:00
parent 9cc228cfff
commit ac93c5487c
3 changed files with 17 additions and 16 deletions

View File

@@ -25,11 +25,13 @@ class FactorReload(ContextMenuUnconditional):
return "Factor in Reload Time"
def activate(self, fullContext, i):
sFit = Fit.getInstance()
sFit.serviceFittingOptions["useGlobalForceReload"] = not sFit.serviceFittingOptions["useGlobalForceReload"]
refreshFitIDs = set()
fitID = self.mainFrame.getActiveFit()
sFit.refreshFit(fitID)
wx.PostEvent(self.mainFrame, GE.FitChanged(fitID=fitID))
if fitID is not None:
refreshFitIDs.add(fitID)
Fit.getInstance().toggleFactorReload(fitsIdToRefresh=refreshFitIDs)
for fitID in refreshFitIDs:
wx.PostEvent(self.mainFrame, GE.FitChanged(fitID=fitID))
@property
def checked(self):

View File

@@ -123,10 +123,13 @@ class PFFittingEnginePref(PreferenceView):
self.engine_settings.set("globalDefaultSpoolupPercentage", self.spoolup_value.GetValue() / 100)
def OnCBGlobalForceReloadStateChange(self, event):
self.sFit.serviceFittingOptions["useGlobalForceReload"] = self.cbGlobalForceReload.GetValue()
refreshFitIDs = set()
fitID = self.mainFrame.getActiveFit()
self.sFit.refreshFit(fitID)
wx.PostEvent(self.mainFrame, GE.FitChanged(fitID=fitID))
if fitID is not None:
refreshFitIDs.add(fitID)
self.sFit.toggleFactorReload(value=bool(self.cbGlobalForceReload.GetValue()), fitsIdToRefresh=refreshFitIDs)
for fitID in refreshFitIDs:
wx.PostEvent(self.mainFrame, GE.FitChanged(fitID=fitID))
def OnCBStrictSkillLevelsChange(self, event):
self.engine_settings.set("strictSkillLevels", self.cbStrictSkillLevels.GetValue())

View File

@@ -249,15 +249,11 @@ class Fit:
fit.notes = notes
eos.db.commit()
def toggleFactorReload(self, fitID):
pyfalog.debug("Toggling factor reload for fit ID: {0}", fitID)
if fitID is None:
return None
fit = eos.db.getFit(fitID)
fit.factorReload = not fit.factorReload
eos.db.commit()
self.recalc(fit)
def toggleFactorReload(self, value=None, fitsIdToRefresh=()):
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)
def switchFit(self, fitID):
pyfalog.debug("Switching fit to fit ID: {0}", fitID)