Enable "open in new tab" menu

This commit is contained in:
DarkPhoenix
2019-08-05 09:57:08 +03:00
parent 14debfd25c
commit 858719aad8
2 changed files with 11 additions and 5 deletions

View File

@@ -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)

View File

@@ -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))