Fixup menu code
This commit is contained in:
2
eos
2
eos
Submodule eos updated: f964b32559...dfe939dadf
@@ -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()
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|||||||
Reference in New Issue
Block a user