From 20a303f6ead933b6f3bc5a13ee9f7e8ada485ffd Mon Sep 17 00:00:00 2001 From: cncfanatics Date: Wed, 17 Nov 2010 11:35:45 +0100 Subject: [PATCH] Ammo menu fixage --- gui/builtinContextMenus/moduleAmmoPicker.py | 10 +++++----- gui/fittingView.py | 12 +++++++----- 2 files changed, 12 insertions(+), 10 deletions(-) diff --git a/gui/builtinContextMenus/moduleAmmoPicker.py b/gui/builtinContextMenus/moduleAmmoPicker.py index 6ed07ff37..f1023328c 100644 --- a/gui/builtinContextMenus/moduleAmmoPicker.py +++ b/gui/builtinContextMenus/moduleAmmoPicker.py @@ -16,18 +16,18 @@ class ModuleAmmoPicker(ContextMenu): modules = selection if context == "module" else (selection[0],) - validCharges = None for mod in modules: currCharges = mod.getValidCharges() - if validCharges is not None and validCharges != currCharges: - return False + if len(currCharges) > 0: + if validCharges is not None and validCharges != currCharges: + return False - validCharges = currCharges + validCharges = currCharges + self.module = mod self.modules = modules self.charges = list(validCharges) - self.module = mod return len(self.charges) > 0 def getText(self, context, selection): diff --git a/gui/fittingView.py b/gui/fittingView.py index 8addacd3b..8e800fb6a 100644 --- a/gui/fittingView.py +++ b/gui/fittingView.py @@ -251,17 +251,19 @@ class FittingView(d.Display): cFit = service.Fit.getInstance() selection = [] sel = self.GetFirstSelected() - contexts = [] - if sel != -1: + contexts = set() + while sel != -1: mod = self.mods[self.GetItemData(sel)] if not mod.isEmpty: - contexts.append("module") + contexts.add("module") if mod.charge is not None and "ammo" not in contexts: - contexts.append("ammo") + contexts.add("ammo") selection.append(mod) - contexts.append("ship") + sel = self.GetNextSelected(sel) + + contexts.add("ship") menu = ContextMenu.getMenu(selection, *contexts) self.PopupMenu(menu)