diff --git a/gui/builtinContextMenus/implantSets.py b/gui/builtinContextMenus/implantSets.py index 6a2ee7bfe..d553a6f8d 100644 --- a/gui/builtinContextMenus/implantSets.py +++ b/gui/builtinContextMenus/implantSets.py @@ -18,6 +18,12 @@ class ImplantSets(ContextMenu): if not self.settings.get('implantSets'): return False + sIS = s_ImplantSets.getInstance() + implantSets = sIS.getImplantSetList() + + if len(implantSets) == 0: + return False + return srcContext in ("implantView", "implantEditor") def getText(self, itmContext, selection): diff --git a/gui/implantView.py b/gui/implantView.py index 0044244a8..c89c3e6d6 100644 --- a/gui/implantView.py +++ b/gui/implantView.py @@ -62,6 +62,7 @@ class ImplantView(wx.Panel): activeFitID = self.mainFrame.getActiveFit() fit = sFit.getFit(activeFitID) if fit: + self.source = fit.implantSource if fit.implantSource == ImplantLocation.FIT: self.rbFit.SetValue(True) else: @@ -159,6 +160,10 @@ class ImplantDisplay(d.Display): event.Skip() def removeItem(self, event): + # Character implants can't be changed here... + if self.Parent.source == ImplantLocation.CHARACTER: + return + row, _ = self.HitTest(event.Position) if row != -1: col = self.getColumn(event.Position) @@ -168,11 +173,17 @@ class ImplantDisplay(d.Display): def removeImplant(self, implant): fitID = self.mainFrame.getActiveFit() sFit = Fit.getInstance() + sFit.removeImplant(fitID, self.original.index(implant)) wx.PostEvent(self.mainFrame, GE.FitChanged(fitID=fitID)) def click(self, event): event.Skip() + + # Character implants can't be changed here... + if self.Parent.source == ImplantLocation.CHARACTER: + return + row, _ = self.HitTest(event.Position) if row != -1: col = self.getColumn(event.Position)