diff --git a/eos/saveddata/mode.py b/eos/saveddata/mode.py index d505807b9..2b3108a9d 100644 --- a/eos/saveddata/mode.py +++ b/eos/saveddata/mode.py @@ -53,8 +53,3 @@ class Mode(ItemAttrShortcut, HandledItem): for effect in self.item.effects.itervalues(): if effect.runTime == runTime and effect.activeByDefault: effect.handler(fit, self, context=("module",)) - - def getValidCharges(self): - # Modes don't have charges, but it is queried for so return nothing. - validCharges = set() - return validCharges diff --git a/gui/builtinContextMenus/itemRemove.py b/gui/builtinContextMenus/itemRemove.py index 3beeb56b9..400890b1a 100644 --- a/gui/builtinContextMenus/itemRemove.py +++ b/gui/builtinContextMenus/itemRemove.py @@ -15,8 +15,7 @@ class ItemRemove(ContextMenu): "boosterItem", "projectedModule", "projectedCharge", "cargoItem", "projectedFit", "projectedDrone", - "fighterItem", "projectedFighter", - "fittingMode",) + "fighterItem", "projectedFighter") def getText(self, itmContext, selection): return "Remove {0}".format(itmContext if itmContext is not None else "Item") diff --git a/gui/builtinViews/fittingView.py b/gui/builtinViews/fittingView.py index 0733a8054..f0aab0b7d 100644 --- a/gui/builtinViews/fittingView.py +++ b/gui/builtinViews/fittingView.py @@ -25,7 +25,7 @@ import gui.display as d from gui.contextMenu import ContextMenu import gui.shipBrowser import gui.multiSwitch -from eos.types import Slot, Rack, Module +from eos.types import Slot, Rack, Module, Mode from gui.builtinViewColumns.state import State from gui.bitmapLoader import BitmapLoader import gui.builtinViews.emptyView @@ -336,7 +336,7 @@ class FittingView(d.Display): def removeItem(self, event): row, _ = self.HitTest(event.Position) - if row != -1 and row not in self.blanks: + if row != -1 and row not in self.blanks and isinstance(self.mods[row], Module): col = self.getColumn(event.Position) if col != self.getColIndex(State): self.removeModule(self.mods[row]) @@ -347,12 +347,7 @@ class FittingView(d.Display): def removeModule(self, module): sFit = Fit.getInstance() fit = sFit.getFit(self.activeFitID) - try: - populate = sFit.removeModule(self.activeFitID, fit.modules.index(module)) - except ValueError: - # This module isn't in our list of modules, don't remove anything. Likely a special snowflake. - logger.debug("Failed attempt to remove %s from fit" % module.item.name) - populate = None + populate = sFit.removeModule(self.activeFitID, fit.modules.index(module)) if populate is not None: self.slotsChanged() @@ -502,20 +497,17 @@ class FittingView(d.Display): mod = self.mods[self.GetItemData(sel)] # Test if this is a mode, which is a special snowflake of a Module - if hasattr(mod, "_Mode__item"): + if isinstance(mod, Mode): srcContext = "fittingMode" - # Skip the normal processing - mod.isEmpty = True - itemContext = sMkt.getCategoryByItem(mod.item).name + itemContext = "Tactical Mode" fullContext = (srcContext, itemContext) if not srcContext in tuple(fCtxt[0] for fCtxt in contexts): contexts.append(fullContext) selection.append(mod) - - if not mod.isEmpty: + elif not mod.isEmpty: srcContext = "fittingModule" itemContext = sMkt.getCategoryByItem(mod.item).name fullContext = (srcContext, itemContext) diff --git a/gui/contextMenu.py b/gui/contextMenu.py index 83a260414..520ad8065 100644 --- a/gui/contextMenu.py +++ b/gui/contextMenu.py @@ -71,11 +71,6 @@ class ContextMenu(object): amount += 1 texts = m.getText(itemContext, selection) - # Check the selected item to see if it has special reasons for not showing the menu item - if srcContext == "fittingMode" and texts == "Remove Module": - # Don't show remove for modes, these are special modules that cannot be removed - continue - if isinstance(texts, basestring): texts = (texts,)