Added support for force reload
This commit is contained in:
@@ -3,7 +3,10 @@ import service
|
||||
|
||||
from gui.preferenceView import PreferenceView
|
||||
from gui import bitmapLoader
|
||||
|
||||
import gui.mainFrame
|
||||
import service
|
||||
import gui.globalEvents as GE
|
||||
|
||||
|
||||
class PFGlobalPref ( PreferenceView):
|
||||
@@ -11,6 +14,7 @@ class PFGlobalPref ( PreferenceView):
|
||||
|
||||
def populatePanel( self, panel ):
|
||||
|
||||
self.mainFrame = gui.mainFrame.MainFrame.getInstance()
|
||||
mainSizer = wx.BoxSizer( wx.VERTICAL )
|
||||
|
||||
self.stTitle = wx.StaticText( panel, wx.ID_ANY, self.title, wx.DefaultPosition, wx.DefaultSize, 0 )
|
||||
@@ -28,6 +32,9 @@ class PFGlobalPref ( PreferenceView):
|
||||
self.cbGlobalDmgPattern = wx.CheckBox( panel, wx.ID_ANY, u"Use global damage pattern", wx.DefaultPosition, wx.DefaultSize, 0 )
|
||||
mainSizer.Add( self.cbGlobalDmgPattern, 0, wx.ALL|wx.EXPAND, 5 )
|
||||
|
||||
self.cbGlobalForceReload = wx.CheckBox( panel, wx.ID_ANY, u"Use force reload", wx.DefaultPosition, wx.DefaultSize, 0 )
|
||||
mainSizer.Add( self.cbGlobalForceReload, 0, wx.ALL|wx.EXPAND, 5 )
|
||||
|
||||
defCharSizer = wx.BoxSizer( wx.HORIZONTAL )
|
||||
|
||||
self.stDefChar = wx.StaticText( panel, wx.ID_ANY, u"Default character:", wx.DefaultPosition, wx.DefaultSize, 0 )
|
||||
@@ -52,18 +59,27 @@ class PFGlobalPref ( PreferenceView):
|
||||
self.sFit = service.Fit.getInstance()
|
||||
useGlobalChar = self.sFit.serviceFittingOptions["useGlobalCharacter"]
|
||||
useGlobalDmgPattern = self.sFit.serviceFittingOptions["useGlobalDamagePattern"]
|
||||
useGlobalForceReload = self.sFit.serviceFittingOptions["useGlobalForceReload"]
|
||||
|
||||
self.cbGlobalChar.SetValue(useGlobalChar)
|
||||
self.cbGlobalDmgPattern.SetValue(useGlobalDmgPattern)
|
||||
self.cbGlobalForceReload.SetValue(useGlobalForceReload)
|
||||
|
||||
self.cbGlobalChar.Bind(wx.EVT_CHECKBOX, self.OnCBGlobalCharStateChange)
|
||||
self.cbGlobalDmgPattern.Bind(wx.EVT_CHECKBOX, self.OnCBGlobalDmgPatternStateChange)
|
||||
self.cbGlobalForceReload.Bind(wx.EVT_CHECKBOX, self.OnCBGlobalForceReloadStateChange)
|
||||
|
||||
self.chDefaultChar.Disable()
|
||||
|
||||
panel.SetSizer( mainSizer )
|
||||
panel.Layout()
|
||||
|
||||
def OnCBGlobalForceReloadStateChange(self, event):
|
||||
self.sFit.serviceFittingOptions["useGlobalForceReload"] = self.cbGlobalForceReload.GetValue()
|
||||
fitID = self.mainFrame.getActiveFit()
|
||||
wx.PostEvent(self.mainFrame, GE.FitChanged(fitID=fitID))
|
||||
event.Skip()
|
||||
|
||||
def OnCBGlobalCharStateChange(self, event):
|
||||
self.sFit.serviceFittingOptions["useGlobalCharacter"] = self.cbGlobalChar.GetValue()
|
||||
event.Skip()
|
||||
|
||||
@@ -81,7 +81,7 @@ class Fit(object):
|
||||
self.character = Character.getInstance().all0()
|
||||
self.dirtyFitIDs = set()
|
||||
|
||||
serviceFittingDefaultOptions = {"useGlobalCharacter": False, "useGlobalDamagePattern": False, "defaultCharacter": self.character.ID}
|
||||
serviceFittingDefaultOptions = {"useGlobalCharacter": False, "useGlobalDamagePattern": False, "defaultCharacter": self.character.ID, "useGlobalForceReload": False}
|
||||
|
||||
self.serviceFittingOptions = SettingsProvider.getInstance().getSettings("pyfaServiceFittingOptions", serviceFittingDefaultOptions)
|
||||
|
||||
@@ -663,4 +663,5 @@ class Fit(object):
|
||||
|
||||
def recalc(self, fit, withBoosters=False):
|
||||
fit.clear()
|
||||
fit.forceReload = self.serviceFittingOptions["useGlobalForceReload"]
|
||||
fit.calculateModifiedAttributes(withBoosters=withBoosters, dirtyStorage=self.dirtyFitIDs)
|
||||
|
||||
Reference in New Issue
Block a user