Undo application of sets without committing results until operation is done

This commit is contained in:
DarkPhoenix
2019-04-20 12:59:48 +03:00
parent ccb0732f7d
commit 417ffd396c
3 changed files with 12 additions and 4 deletions

View File

@@ -261,7 +261,7 @@ class ImplantDisplay(d.Display):
sMkt = Market.getInstance()
sourceContext = "implantItem" if fit.implantSource == ImplantLocation.FIT else "implantItemChar"
itemContext = sMkt.getCategoryByItem(implant.item).name
fullContext = ((sourceContext, itemContext), ("implantView",))
fullContext = ((sourceContext, itemContext), ("implantView", itemContext))
menu = ContextMenu.getMenu((implant,), *fullContext)
elif sel == -1 and fit.implantSource == ImplantLocation.FIT:
fitID = self.mainFrame.getActiveFit()

View File

@@ -58,8 +58,12 @@ class CalcAddImplantCommand(wx.Command):
def Undo(self):
pyfalog.debug('Undo addition of implant {} to fit {}'.format(self.newImplantInfo, self.fitID))
if self.oldImplantInfo is not None and self.oldPosition is not None:
cmd = CalcAddImplantCommand(fitID=self.fitID, implantInfo=self.oldImplantInfo, position=self.oldPosition)
cmd = CalcAddImplantCommand(
fitID=self.fitID,
implantInfo=self.oldImplantInfo,
position=self.oldPosition,
commit=self.commit)
return cmd.Do()
from .remove import CalcRemoveImplantCommand
cmd = CalcRemoveImplantCommand(fitID=self.fitID, position=self.newPosition)
cmd = CalcRemoveImplantCommand(fitID=self.fitID, position=self.newPosition, commit=self.commit)
return cmd.Do()

View File

@@ -31,5 +31,9 @@ class CalcRemoveImplantCommand(wx.Command):
def Undo(self):
pyfalog.debug('Undoing removal of implant {} on fit {}'.format(self.savedImplantInfo, self.fitID))
from .add import CalcAddImplantCommand
cmd = CalcAddImplantCommand(fitID=self.fitID, implantInfo=self.savedImplantInfo, position=self.position, commit=self.commit)
cmd = CalcAddImplantCommand(
fitID=self.fitID,
implantInfo=self.savedImplantInfo,
position=self.position,
commit=self.commit)
return cmd.Do()