Avoid doing unnecessary recalcs
This commit is contained in:
@@ -22,9 +22,10 @@ class GuiAddLocalModuleCommand(wx.Command):
|
||||
cmd = CalcAddLocalModuleCommand(fitID=self.fitID, newModInfo=ModuleInfo(itemID=self.itemID))
|
||||
success = self.internalHistory.submit(cmd)
|
||||
Market.getInstance().storeRecentlyUsed(self.itemID)
|
||||
eos.db.flush()
|
||||
sFit = Fit.getInstance()
|
||||
sFit.recalc(self.fitID)
|
||||
if cmd.needsGuiRecalc:
|
||||
eos.db.flush()
|
||||
sFit.recalc(self.fitID)
|
||||
self.savedRemovedDummies = sFit.fill(self.fitID)
|
||||
eos.db.commit()
|
||||
wx.PostEvent(
|
||||
|
||||
@@ -20,9 +20,10 @@ class GuiChangeLocalModuleChargesCommand(wx.Command):
|
||||
def Do(self):
|
||||
cmd = CalcChangeModuleChargesCommand(fitID=self.fitID, projected=False, chargeMap={p: self.chargeItemID for p in self.positions})
|
||||
success = self.internalHistory.submit(cmd)
|
||||
eos.db.flush()
|
||||
sFit = Fit.getInstance()
|
||||
sFit.recalc(self.fitID)
|
||||
if cmd.needsGuiRecalc:
|
||||
eos.db.flush()
|
||||
sFit.recalc(self.fitID)
|
||||
sFit.fill(self.fitID)
|
||||
eos.db.commit()
|
||||
wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitIDs=(self.fitID,)))
|
||||
|
||||
@@ -42,8 +42,9 @@ class GuiChangeLocalModuleMetasCommand(wx.Command):
|
||||
if not commands:
|
||||
return False
|
||||
success = self.internalHistory.submitBatch(*commands)
|
||||
eos.db.flush()
|
||||
sFit.recalc(self.fitID)
|
||||
if commands[-1].needsGuiRecalc:
|
||||
eos.db.flush()
|
||||
sFit.recalc(self.fitID)
|
||||
self.savedRemovedDummies = sFit.fill(self.fitID)
|
||||
eos.db.commit()
|
||||
events = []
|
||||
|
||||
@@ -26,9 +26,9 @@ class GuiChangeLocalModuleStatesCommand(wx.Command):
|
||||
positions=self.positions,
|
||||
click=self.click)
|
||||
success = self.internalHistory.submit(cmd)
|
||||
eos.db.flush()
|
||||
sFit = Fit.getInstance()
|
||||
if cmd.recalcNeeded:
|
||||
if cmd.needsGuiRecalc:
|
||||
eos.db.flush()
|
||||
sFit.recalc(self.fitID)
|
||||
self.savedRemovedDummies = sFit.fill(self.fitID)
|
||||
eos.db.commit()
|
||||
|
||||
@@ -25,9 +25,10 @@ class GuiCloneLocalModuleCommand(wx.Command):
|
||||
sFit = Fit.getInstance()
|
||||
cmd = CalcCloneLocalModuleCommand(fitID=self.fitID, srcPosition=self.srcPosition, dstPosition=self.dstPosition)
|
||||
success = self.internalHistory.submit(cmd)
|
||||
eos.db.flush()
|
||||
fit = sFit.getFit(self.fitID)
|
||||
sFit.recalc(self.fitID)
|
||||
if cmd.needsGuiRecalc:
|
||||
eos.db.flush()
|
||||
sFit.recalc(self.fitID)
|
||||
self.savedRemovedDummies = sFit.fill(self.fitID)
|
||||
eos.db.commit()
|
||||
self.savedItemID = fit.modules[self.srcPosition].itemID
|
||||
|
||||
@@ -27,9 +27,11 @@ class GuiFillWithNewLocalModulesCommand(wx.Command):
|
||||
break
|
||||
added_modules += 1
|
||||
Market.getInstance().storeRecentlyUsed(self.itemID)
|
||||
eos.db.flush()
|
||||
sFit = Fit.getInstance()
|
||||
sFit.recalc(self.fitID)
|
||||
# Only last command decides if we need to recalc here or not
|
||||
if cmd.needsGuiRecalc:
|
||||
eos.db.flush()
|
||||
sFit.recalc(self.fitID)
|
||||
self.savedRemovedDummies = sFit.fill(self.fitID)
|
||||
eos.db.commit()
|
||||
success = added_modules > 0
|
||||
|
||||
@@ -30,8 +30,9 @@ class GuiFillWithClonedLocalModulesCommand(wx.Command):
|
||||
if not self.internalHistory.submit(cmd):
|
||||
break
|
||||
added_modules += 1
|
||||
eos.db.flush()
|
||||
sFit.recalc(self.fitID)
|
||||
if cmd.needsGuiRecalc:
|
||||
eos.db.flush()
|
||||
sFit.recalc(self.fitID)
|
||||
self.savedRemovedDummies = sFit.fill(self.fitID)
|
||||
eos.db.commit()
|
||||
success = added_modules > 0
|
||||
|
||||
@@ -39,8 +39,9 @@ class GuiConvertMutatedLocalModuleCommand(wx.Command):
|
||||
spoolType=mod.spoolType,
|
||||
spoolAmount=mod.spoolAmount))
|
||||
success = self.internalHistory.submit(cmd)
|
||||
eos.db.flush()
|
||||
sFit.recalc(self.fitID)
|
||||
if cmd.needsGuiRecalc:
|
||||
eos.db.flush()
|
||||
sFit.recalc(self.fitID)
|
||||
sFit.fill(self.fitID)
|
||||
eos.db.commit()
|
||||
wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitIDs=(self.fitID,)))
|
||||
|
||||
@@ -24,9 +24,10 @@ class GuiImportLocalMutatedModuleCommand(wx.Command):
|
||||
def Do(self):
|
||||
cmd = CalcAddLocalModuleCommand(fitID=self.fitID, newModInfo=self.newModInfo)
|
||||
success = self.internalHistory.submit(cmd)
|
||||
eos.db.flush()
|
||||
sFit = Fit.getInstance()
|
||||
sFit.recalc(self.fitID)
|
||||
if cmd.needsGuiRecalc:
|
||||
eos.db.flush()
|
||||
sFit.recalc(self.fitID)
|
||||
self.savedRemovedDummies = sFit.fill(self.fitID)
|
||||
eos.db.commit()
|
||||
wx.PostEvent(
|
||||
|
||||
@@ -34,8 +34,9 @@ class GuiRevertMutatedLocalModuleCommand(wx.Command):
|
||||
spoolType=mod.spoolType,
|
||||
spoolAmount=mod.spoolAmount))
|
||||
success = self.internalHistory.submit(cmd)
|
||||
eos.db.flush()
|
||||
sFit.recalc(self.fitID)
|
||||
if cmd.needsGuiRecalc:
|
||||
eos.db.flush()
|
||||
sFit.recalc(self.fitID)
|
||||
sFit.fill(self.fitID)
|
||||
eos.db.commit()
|
||||
wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitIDs=(self.fitID,)))
|
||||
|
||||
@@ -30,8 +30,9 @@ class GuiRemoveLocalModuleCommand(wx.Command):
|
||||
for position in sorted(container, reverse=True):
|
||||
modInfo = container[position]
|
||||
sMkt.storeRecentlyUsed(modInfo.itemID)
|
||||
eos.db.flush()
|
||||
sFit.recalc(self.fitID)
|
||||
if cmd.needsGuiRecalc:
|
||||
eos.db.flush()
|
||||
sFit.recalc(self.fitID)
|
||||
self.savedRemovedDummies = sFit.fill(self.fitID)
|
||||
eos.db.commit()
|
||||
wx.PostEvent(
|
||||
|
||||
@@ -21,17 +21,21 @@ class GuiReplaceLocalModuleCommand(wx.Command):
|
||||
|
||||
def Do(self):
|
||||
results = []
|
||||
needRecalc = None
|
||||
for position in self.positions:
|
||||
cmd = CalcReplaceLocalModuleCommand(
|
||||
fitID=self.fitID,
|
||||
position=position,
|
||||
newModInfo=ModuleInfo(itemID=self.itemID))
|
||||
results.append(self.internalHistory.submit(cmd))
|
||||
# Last command decides if we need it or not
|
||||
needRecalc = cmd.needsGuiRecalc
|
||||
success = any(results)
|
||||
Market.getInstance().storeRecentlyUsed(self.itemID)
|
||||
eos.db.flush()
|
||||
sFit = Fit.getInstance()
|
||||
sFit.recalc(self.fitID)
|
||||
if needRecalc:
|
||||
eos.db.flush()
|
||||
sFit.recalc(self.fitID)
|
||||
self.savedRemovedDummies = sFit.fill(self.fitID)
|
||||
eos.db.commit()
|
||||
wx.PostEvent(
|
||||
|
||||
Reference in New Issue
Block a user