From 0c42848d521671f42101e6ae374c6d9ff53de8fe Mon Sep 17 00:00:00 2001 From: blitzmann Date: Wed, 7 May 2014 15:53:03 -0400 Subject: [PATCH] Fix recalc after module clone. Enforce module restrictions. --- gui/builtinViews/fittingView.py | 3 +-- service/fit.py | 16 ++++++++-------- 2 files changed, 9 insertions(+), 10 deletions(-) diff --git a/gui/builtinViews/fittingView.py b/gui/builtinViews/fittingView.py index 4aae999df..5c7a629a1 100644 --- a/gui/builtinViews/fittingView.py +++ b/gui/builtinViews/fittingView.py @@ -382,8 +382,7 @@ class FittingView(d.Display): else: cFit.swapModules(self.mainFrame.getActiveFit(), mod1.position, mod2.position) - self.generateMods() - self.refresh(self.mods) + wx.PostEvent(self.mainFrame, GE.FitChanged(fitID=self.mainFrame.getActiveFit())) def generateMods(self): ''' diff --git a/service/fit.py b/service/fit.py index 46167a88e..685b71886 100644 --- a/service/fit.py +++ b/service/fit.py @@ -454,17 +454,17 @@ class Fit(object): fit = eos.db.getFit(fitID) # Gather modules srcMod = fit.modules[src] - dstMod = fit.modules[dst] + dstMod = fit.modules[dst] # should be a placeholder module new = copy.deepcopy(srcMod) + new.owner = fit + if new.fits(fit): + # insert copy if module meets hardpoint restrictions + fit.modules.remove(dstMod) + fit.modules.insert(dst, new) - # remove empty mod - fit.modules.remove(dstMod) - - # insert copy - fit.modules.insert(dst, new) - - eos.db.commit() + eos.db.commit() + self.recalc(fit) def addCargo(self, fitID, itemID, amount): if fitID == None: