Fixup menu code

This commit is contained in:
cncfanatics
2010-11-17 09:47:53 +01:00
parent cc12877e04
commit 1ffdf9b2cb
4 changed files with 13 additions and 13 deletions

2
eos

Submodule eos updated: f964b32559...dfe939dadf

View File

@@ -14,10 +14,9 @@ class ModuleAmmoPicker(ContextMenu):
if self.mainFrame.getActiveFit() is None or context not in ("module", "projectedModule"): if self.mainFrame.getActiveFit() is None or context not in ("module", "projectedModule"):
return False return False
if context == "module": modules = selection if context == "module" else (selection[0],)
modules = self.mainFrame.getFittingView().getSelectedMods()
else:
modules = (selection[0],)
validCharges = None validCharges = None
for mod in modules: for mod in modules:
currCharges = mod.getValidCharges() currCharges = mod.getValidCharges()

View File

@@ -251,17 +251,19 @@ class FittingView(d.Display):
cFit = service.Fit.getInstance() cFit = service.Fit.getInstance()
selection = [] selection = []
sel = self.GetFirstSelected() sel = self.GetFirstSelected()
contexts = [] contexts = set()
if sel != -1: while sel != -1:
mod = self.mods[self.GetItemData(sel)] mod = self.mods[self.GetItemData(sel)]
if not mod.isEmpty: if not mod.isEmpty:
contexts.append("module") contexts.add("module")
if mod.charge is not None and "ammo" not in contexts: if mod.charge is not None and "ammo" not in contexts:
contexts.append("ammo") contexts.add("ammo")
selection.append(mod) selection.append(mod)
contexts.append("ship") sel = self.GetNextSelected(sel)
contexts.add("ship")
menu = ContextMenu.getMenu(selection, *contexts) menu = ContextMenu.getMenu(selection, *contexts)
self.PopupMenu(menu) self.PopupMenu(menu)

View File

@@ -132,9 +132,8 @@ class MainFrame(wx.Frame):
m = getattr(p, "getActiveFit", None) m = getattr(p, "getActiveFit", None)
return m() if m is not None else None return m() if m is not None else None
def getFittingView(self): def getActiveView(self):
sel = self.fitMultiSwitch.GetSelection() sel = self.fitMultiSwitch.GetSelectedPage()
return self.fitMultiSwitch.GetPage(sel).view
def mouseHit(self, event): def mouseHit(self, event):
tab, _ = self.notebookBrowsers.HitTest(event.Position) tab, _ = self.notebookBrowsers.HitTest(event.Position)