From c03d000c45817610f8dba57a96ad0637f49350c4 Mon Sep 17 00:00:00 2001 From: DarkPhoenix Date: Mon, 22 Apr 2019 15:45:37 +0300 Subject: [PATCH] Pass item which is considered to be clicked item to context menus --- gui/builtinAdditionPanes/boosterView.py | 2 +- gui/builtinAdditionPanes/cargoView.py | 2 +- gui/builtinAdditionPanes/commandView.py | 2 +- gui/builtinAdditionPanes/droneView.py | 2 +- gui/builtinAdditionPanes/fighterView.py | 2 +- gui/builtinAdditionPanes/implantView.py | 4 ++-- gui/builtinAdditionPanes/projectedView.py | 2 +- gui/builtinItemStatsViews/itemAffectedBy.py | 3 ++- gui/builtinMarketBrowser/itemView.py | 2 +- gui/builtinShipBrowser/shipItem.py | 2 +- gui/builtinViews/fittingView.py | 4 +--- gui/characterEditor.py | 7 ++++--- gui/contextMenu.py | 2 +- gui/statsPane.py | 2 +- 14 files changed, 19 insertions(+), 19 deletions(-) diff --git a/gui/builtinAdditionPanes/boosterView.py b/gui/builtinAdditionPanes/boosterView.py index c74e088ac..999d61e7c 100644 --- a/gui/builtinAdditionPanes/boosterView.py +++ b/gui/builtinAdditionPanes/boosterView.py @@ -191,5 +191,5 @@ class BoosterView(d.Display): return None srcContext = "boosterItem" itemContext = "Booster" - menu = ContextMenu.getMenu((booster,), (srcContext, itemContext)) + menu = ContextMenu.getMenu(booster, (booster,), (srcContext, itemContext)) self.PopupMenu(menu) diff --git a/gui/builtinAdditionPanes/cargoView.py b/gui/builtinAdditionPanes/cargoView.py index e4db9539d..1cee7314a 100644 --- a/gui/builtinAdditionPanes/cargoView.py +++ b/gui/builtinAdditionPanes/cargoView.py @@ -187,5 +187,5 @@ class CargoView(d.Display): sourceContext = "cargoItem" itemContext = sMkt.getCategoryByItem(cargo.item).name - menu = ContextMenu.getMenu((cargo,), (sourceContext, itemContext)) + menu = ContextMenu.getMenu(cargo, (cargo,), (sourceContext, itemContext)) self.PopupMenu(menu) diff --git a/gui/builtinAdditionPanes/commandView.py b/gui/builtinAdditionPanes/commandView.py index 69f142118..5b3d0be16 100644 --- a/gui/builtinAdditionPanes/commandView.py +++ b/gui/builtinAdditionPanes/commandView.py @@ -202,7 +202,7 @@ class CommandView(d.Display): context = ((fitSrcContext, fitItemContext),) context += (("commandView",),) - menu = ContextMenu.getMenu((item,) if item is not None else [], *context) + menu = ContextMenu.getMenu(item, (item,) if item is not None else [], *context) if menu is not None: self.PopupMenu(menu) diff --git a/gui/builtinAdditionPanes/droneView.py b/gui/builtinAdditionPanes/droneView.py index 7c88962be..12ddac1e4 100644 --- a/gui/builtinAdditionPanes/droneView.py +++ b/gui/builtinAdditionPanes/droneView.py @@ -289,5 +289,5 @@ class DroneView(Display): sMkt = Market.getInstance() sourceContext = "droneItem" itemContext = sMkt.getCategoryByItem(drone.item).name - menu = ContextMenu.getMenu((drone,), (sourceContext, itemContext)) + menu = ContextMenu.getMenu(drone, (drone,), (sourceContext, itemContext)) self.PopupMenu(menu) diff --git a/gui/builtinAdditionPanes/fighterView.py b/gui/builtinAdditionPanes/fighterView.py index a25f336c0..ccb26c9bf 100644 --- a/gui/builtinAdditionPanes/fighterView.py +++ b/gui/builtinAdditionPanes/fighterView.py @@ -316,5 +316,5 @@ class FighterDisplay(d.Display): sMkt = Market.getInstance() sourceContext = "fighterItem" itemContext = sMkt.getCategoryByItem(fighter.item).name - menu = ContextMenu.getMenu((fighter,), (sourceContext, itemContext)) + menu = ContextMenu.getMenu(fighter, (fighter,), (sourceContext, itemContext)) self.PopupMenu(menu) diff --git a/gui/builtinAdditionPanes/implantView.py b/gui/builtinAdditionPanes/implantView.py index acd1357dc..51e76eebf 100644 --- a/gui/builtinAdditionPanes/implantView.py +++ b/gui/builtinAdditionPanes/implantView.py @@ -262,12 +262,12 @@ class ImplantDisplay(d.Display): sourceContext = "implantItem" if fit.implantSource == ImplantLocation.FIT else "implantItemChar" itemContext = sMkt.getCategoryByItem(implant.item).name fullContext = ((sourceContext, itemContext), ("implantView", itemContext)) - menu = ContextMenu.getMenu((implant,), *fullContext) + menu = ContextMenu.getMenu(implant, (implant,), *fullContext) elif sel == -1 and fit.implantSource == ImplantLocation.FIT: fitID = self.mainFrame.getActiveFit() if fitID is None: return context = ("implantView",) - menu = ContextMenu.getMenu([], context) + menu = ContextMenu.getMenu(None, [], context) if menu is not None: self.PopupMenu(menu) diff --git a/gui/builtinAdditionPanes/projectedView.py b/gui/builtinAdditionPanes/projectedView.py index 5d3e9ce17..a0ba7fdae 100644 --- a/gui/builtinAdditionPanes/projectedView.py +++ b/gui/builtinAdditionPanes/projectedView.py @@ -323,7 +323,7 @@ class ProjectedView(d.Display): context = ((fitSrcContext, fitItemContext),) context += (("projected",),) - menu = ContextMenu.getMenu((item,) if item is not None else [], *context) + menu = ContextMenu.getMenu(item, (item,) if item is not None else [], *context) if menu is not None: self.PopupMenu(menu) diff --git a/gui/builtinItemStatsViews/itemAffectedBy.py b/gui/builtinItemStatsViews/itemAffectedBy.py index cd25df1a9..127356953 100644 --- a/gui/builtinItemStatsViews/itemAffectedBy.py +++ b/gui/builtinItemStatsViews/itemAffectedBy.py @@ -82,7 +82,8 @@ class ItemAffectedBy(wx.Panel): # instead, we send the item. type_ = stuff.__class__.__name__ contexts.append(("itemStats", type_)) - menu = ContextMenu.getMenu(stuff if type_ != "Skill" else stuff.item, *contexts) + stuff = stuff if type_ != "Skill" else stuff.item + menu = ContextMenu.getMenu(stuff, (stuff,), *contexts) self.PopupMenu(menu) def ExpandCollapseTree(self): diff --git a/gui/builtinMarketBrowser/itemView.py b/gui/builtinMarketBrowser/itemView.py index 387f43769..e6f152dbc 100644 --- a/gui/builtinMarketBrowser/itemView.py +++ b/gui/builtinMarketBrowser/itemView.py @@ -247,7 +247,7 @@ class ItemView(Display): sourceContext = "marketItemMisc" if self.marketBrowser.mode in ("search", "recent") else "marketItemGroup" itemContext = sMkt.getCategoryByItem(item).name - menu = ContextMenu.getMenu((item,), (sourceContext, itemContext)) + menu = ContextMenu.getMenu(item, (item,), (sourceContext, itemContext)) self.PopupMenu(menu) def populate(self, items): diff --git a/gui/builtinShipBrowser/shipItem.py b/gui/builtinShipBrowser/shipItem.py index cf1de024c..57efe2978 100644 --- a/gui/builtinShipBrowser/shipItem.py +++ b/gui/builtinShipBrowser/shipItem.py @@ -108,7 +108,7 @@ class ShipItem(SFItem.SFBrowserItem): pos = event.GetPosition() pos = self.ScreenToClient(pos) contexts = [("baseShip", "Ship Basic")] - menu = ContextMenu.getMenu(self.baseItem, *contexts) + menu = ContextMenu.getMenu(self.baseItem, (self.baseItem,), *contexts) self.PopupMenu(menu, pos) def OnTimer(self, event): diff --git a/gui/builtinViews/fittingView.py b/gui/builtinViews/fittingView.py index ef884cc34..2c186d85d 100644 --- a/gui/builtinViews/fittingView.py +++ b/gui/builtinViews/fittingView.py @@ -602,7 +602,6 @@ class FittingView(d.Display): self.populate(self.mods) def fitChanged(self, event): - # print('====== Fit Changed: {} {} activeFitID: {}, eventFitID: {}'.format(repr(self), str(bool(self)), self.activeFitID, event.fitID)) if not self: event.Skip() return @@ -626,7 +625,6 @@ class FittingView(d.Display): return sMkt = Market.getInstance() selection = [] - sel = self.GetFirstSelected() contexts = [] for mod in self.getSelectedMods(): @@ -658,7 +656,7 @@ class FittingView(d.Display): contexts.append(("fittingShip", "Ship" if not fit.isStructure else "Citadel")) - menu = ContextMenu.getMenu(selection, *contexts) + menu = ContextMenu.getMenu(selection[0], selection, *contexts) self.PopupMenu(menu) def click(self, event): diff --git a/gui/characterEditor.py b/gui/characterEditor.py index a3af1b059..275fce98f 100644 --- a/gui/characterEditor.py +++ b/gui/characterEditor.py @@ -417,8 +417,8 @@ class SkillTreeView(wx.Panel): srcContext = "skillItem" itemContext = "Skill" context = (srcContext, itemContext) - self.statsMenu = ContextMenu.getMenu(None, context) - self.levelChangeMenu = ContextMenu.getMenu(None, context) or wx.Menu() + self.statsMenu = ContextMenu.getMenu(None, None, context) + self.levelChangeMenu = ContextMenu.getMenu(None, None, context) or wx.Menu() self.levelChangeMenu.AppendSeparator() self.levelIds = {} @@ -715,7 +715,8 @@ class ImplantEditorView(BaseImplantEditorView): context = (("implantEditor",),) # fuck good coding practices, passing a pointer to the character editor here for [reasons] =D # (see implantSets context class for info) - menu = ContextMenu.getMenu((self.Parent.Parent,), *context) + item = self.Parent.Parent + menu = ContextMenu.getMenu(item, (item,), *context) if menu: self.PopupMenu(menu) diff --git a/gui/contextMenu.py b/gui/contextMenu.py index b537d650c..2d7a7efd7 100644 --- a/gui/contextMenu.py +++ b/gui/contextMenu.py @@ -44,7 +44,7 @@ class ContextMenu(object): return False @classmethod - def getMenu(cls, selection, *fullContexts): + def getMenu(cls, main, selection, *fullContexts): """ getMenu returns a menu that is used with wx.PopupMenu. diff --git a/gui/statsPane.py b/gui/statsPane.py index 654531033..96d807060 100644 --- a/gui/statsPane.py +++ b/gui/statsPane.py @@ -134,7 +134,7 @@ class StatsPane(wx.Panel): viewName = contentPanel.viewName def handler(event): - menu = ContextMenu.getMenu(None, (viewName,)) + menu = ContextMenu.getMenu(None, None, (viewName,)) if menu is not None: contentPanel.PopupMenu(menu)