Recalculate fits on state changes
This commit is contained in:
@@ -178,6 +178,7 @@ class FittingView(d.Display):
|
||||
col = self.getColumn(event.Position)
|
||||
if col == self.getColIndex(ModuleState):
|
||||
sFit = service.Fit.getInstance()
|
||||
sFit.toggleModulesState(self.mods[self.GetItemData(row)], self.getSelectedMods(), "right" if event.Button == 3 else "left")
|
||||
fitID = self.mainFrame.getActiveFit()
|
||||
sFit.toggleModulesState(fitID, self.mods[self.GetItemData(row)], self.getSelectedMods(), "right" if event.Button == 3 else "left")
|
||||
wx.PostEvent(self.mainFrame, FitChanged(fitID=self.mainFrame.getActiveFit()))
|
||||
|
||||
|
||||
@@ -292,7 +292,7 @@ class Fit(object):
|
||||
for fit in fits:
|
||||
eos.db.save(fit)
|
||||
|
||||
def toggleModulesState(self, base, modules, click):
|
||||
def toggleModulesState(self, fitID, base, modules, click):
|
||||
proposedState = self.__getProposedState(base, click)
|
||||
if proposedState != base.state:
|
||||
base.state = proposedState
|
||||
@@ -301,6 +301,9 @@ class Fit(object):
|
||||
mod.state = self.__getProposedState(mod, click, proposedState)
|
||||
|
||||
eos.db.commit()
|
||||
fit = eos.db.getFit(fitID)
|
||||
fit.clear()
|
||||
fit.calculateModifiedAttributes()
|
||||
|
||||
# Old state : New State
|
||||
transitionMap = {State.OVERHEATED: State.ACTIVE,
|
||||
|
||||
Reference in New Issue
Block a user