Get context menus working for character implants

This commit is contained in:
blitzmann
2016-03-19 18:23:34 -04:00
parent 7c787cd13b
commit 443c917c6b
4 changed files with 9 additions and 10 deletions

View File

@@ -16,7 +16,7 @@ class ItemStats(ContextMenu):
"implantItem", "boosterItem",
"skillItem", "projectedModule",
"projectedDrone", "projectedCharge",
"itemStats")
"itemStats", "implantItemChar")
def getText(self, itmContext, selection):
return "{0} Stats".format(itmContext if itmContext is not None else "Item")

View File

@@ -12,7 +12,8 @@ class MarketJump(ContextMenu):
"fittingCharge", "droneItem",
"implantItem", "boosterItem",
"projectedModule", "projectedDrone",
"projectedCharge", "cargoItem")
"projectedCharge", "cargoItem",
"implantItemChar")
if not srcContext in validContexts or selection is None or len(selection) < 1:
return False
@@ -33,12 +34,10 @@ class MarketJump(ContextMenu):
def activate(self, fullContext, selection, i):
srcContext = fullContext[0]
if srcContext in ("fittingModule", "droneItem", "implantItem",
"boosterItem", "projectedModule", "projectedDrone",
"cargoItem"):
item = selection[0].item
elif srcContext in ("fittingCharge", "projectedCharge"):
if srcContext in ("fittingCharge", "projectedCharge"):
item = selection[0].charge
elif hasattr(selection[0], "item"):
item = selection[0].item
else:
item = selection[0]

View File

@@ -172,10 +172,10 @@ class ImplantDisplay(d.Display):
if sel != -1:
sFit = service.Fit.getInstance()
fit = sFit.getFit(self.mainFrame.getActiveFit())
implant = fit.implants[sel]
implant = fit.appliedImplants[sel]
sMkt = service.Market.getInstance()
sourceContext = "implantItem"
sourceContext = "implantItem" if fit.implantSource == ImplantLocation.FIT else "implantItemChar"
itemContext = sMkt.getCategoryByItem(implant.item).name
menu = ContextMenu.getMenu((implant,), (sourceContext, itemContext))

View File

@@ -724,7 +724,7 @@ class Fit(object):
def toggleImplantSource(self, fitID, source):
fit = eos.db.getFit(fitID)
fit.implantSource = source
eos.db.commit()
self.recalc(fit)
return True