diff --git a/graphs/gui/lists.py b/graphs/gui/lists.py index 39f31e417..4956785e4 100644 --- a/graphs/gui/lists.py +++ b/graphs/gui/lists.py @@ -256,9 +256,8 @@ class SourceWrapperList(BaseWrapperList): clickedPos = self.getRowByAbs(event.Position) mainItem = self.getWrapper(clickedPos) - sourceContext = 'graphFitList' itemContext = None if mainItem is None else 'Fit' - menu = ContextMenu.getMenu(self, mainItem, selection, (sourceContext, itemContext)) + menu = ContextMenu.getMenu(self, mainItem, selection, ('graphFitList', itemContext), ('graphFitListMisc', itemContext)) if menu: self.PopupMenu(menu) @@ -284,9 +283,8 @@ class TargetWrapperList(BaseWrapperList): clickedPos = self.getRowByAbs(event.Position) mainItem = self.getWrapper(clickedPos) - sourceContext = 'graphTgtList' itemContext = None if mainItem is None else 'Target' - menu = ContextMenu.getMenu(self, mainItem, selection, (sourceContext, itemContext)) + menu = ContextMenu.getMenu(self, mainItem, selection, ('graphTgtList', itemContext), ('graphTgtListMisc', itemContext)) if menu: self.PopupMenu(menu) diff --git a/gui/builtinContextMenus/fitOpenNewTab.py b/gui/builtinContextMenus/fitOpenNewTab.py index ca2671d54..e81d3c19d 100644 --- a/gui/builtinContextMenus/fitOpenNewTab.py +++ b/gui/builtinContextMenus/fitOpenNewTab.py @@ -2,6 +2,7 @@ import wx import gui.mainFrame +from graphs.wrapper import BaseWrapper from gui.builtinShipBrowser.events import FitSelected from gui.contextMenu import ContextMenuSingle @@ -12,12 +13,17 @@ class OpenFitInNewTab(ContextMenuSingle): self.mainFrame = gui.mainFrame.MainFrame.getInstance() def display(self, callingWindow, srcContext, mainItem): - if srcContext not in ("projectedFit", "commandFit"): + if srcContext not in ("projectedFit", "commandFit", "graphFitListMisc", "graphTgtListMisc"): return False if mainItem is None: return False + if isinstance(mainItem, BaseWrapper): + if not mainItem.isFit: + return False + mainItem = mainItem.item + currentFitID = self.mainFrame.getActiveFit() selectedFitID = mainItem.ID if currentFitID == selectedFitID: @@ -28,6 +34,8 @@ class OpenFitInNewTab(ContextMenuSingle): return "Open Fit in New Tab" def activate(self, callingWindow, fullContext, mainItem, i): + if isinstance(mainItem, BaseWrapper): + mainItem = mainItem.item wx.PostEvent(self.mainFrame, FitSelected(fitID=mainItem.ID, startup=2))