From 55cd33e653c3b6998fec780f57b0530de74bd7d9 Mon Sep 17 00:00:00 2001 From: DarkPhoenix Date: Mon, 22 Apr 2019 12:36:10 +0300 Subject: [PATCH] Do not show "show in fitting browser" context menu when it doesn't do anything to avoid confusion --- gui/builtinContextMenus/shipJump.py | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/gui/builtinContextMenus/shipJump.py b/gui/builtinContextMenus/shipJump.py index 34f3b9181..41b6769cc 100644 --- a/gui/builtinContextMenus/shipJump.py +++ b/gui/builtinContextMenus/shipJump.py @@ -14,19 +14,29 @@ class JumpToShip(ContextMenu): self.settings = ContextMenuSettings.getInstance() def display(self, srcContext, selection): - return srcContext == "fittingShip" + if srcContext != "fittingShip": + return False + fitTabSelected = self.mainFrame.notebookBrowsers.GetSelection() == 1 + if not fitTabSelected: + return True + browsingStage = self.mainFrame.shipBrowser.GetActiveStage() + if browsingStage != 3: + return True + fitID = self.mainFrame.getActiveFit() + ship = Fit.getInstance().getFit(fitID).ship + browsingShipID = self.mainFrame.shipBrowser.GetStageData(browsingStage) + if browsingShipID != ship.item.ID: + return True + return False def getText(self, itmContext, selection): return "Open in Fitting Browser" def activate(self, fullContext, selection, i): fitID = self.mainFrame.getActiveFit() - sFit = Fit.getInstance() - stuff = sFit.getFit(fitID).ship - groupID = stuff.item.group.ID - + ship = Fit.getInstance().getFit(fitID).ship self.mainFrame.notebookBrowsers.SetSelection(1) - wx.PostEvent(self.mainFrame.shipBrowser, Stage3Selected(shipID=stuff.item.ID, back=True)) + wx.PostEvent(self.mainFrame.shipBrowser, Stage3Selected(shipID=ship.item.ID, back=True)) JumpToShip.register()