Also jump to proper meta tab when opening market group of forced items

This commit is contained in:
DarkPhoenix
2011-01-10 23:18:45 +03:00
parent bd93b6c6ec
commit 33ce40c0dc
2 changed files with 32 additions and 20 deletions

View File

@@ -161,20 +161,26 @@ class MarketTree(wx.TreeCtrl):
def jump(self, item):
cMarket = service.Market.getInstance()
mg = item.marketGroup
if mg is None and item.metaGroup is not None:
mg = item.metaGroup.parent.marketGroup
if mg is None and (item.metaGroup is not None or item.ID in cMarket.FORCED_ITEM_MKTGRPS):
if item.metaGroup is not None:
mg = item.metaGroup.parent.marketGroup
metaGroup = cMarket.getMetaName(item.metaGroup.ID)
elif item.ID in cMarket.FORCED_ITEM_MKTGRPS:
mgid = cMarket.FORCED_ITEM_MKTGRPS[item.ID][0]
mg = cMarket.getMarketGroup(mgid)
metaGroupID = cMarket.FORCED_ITEM_MKTGRPS[item.ID][1]
metaGroupName = "normal"
for metaGroupName, metaGroupIDs in cMarket.META_MAP.iteritems():
if metaGroupID in metaGroupIDs:
metaGroup = metaGroupName
break
for btn in ("normal", "faction", "complex", "officer"):
getattr(self.marketBrowser, btn).SetValue(False)
cMarket.disableMetaGroup(btn)
metaGroup = cMarket.getMetaName(item.metaGroup.ID)
getattr(self.marketBrowser, metaGroup).SetValue(True)
cMarket.activateMetaGroup(metaGroup)
self.marketBrowser.itemView.searching = False
if mg is None and item.ID in cMarket.FORCED_ITEM_MKTGRPS:
mgid = cMarket.FORCED_ITEM_MKTGRPS[item.ID]
mg = cMarket.getMarketGroup(mgid)
if mg is None:
return

View File

@@ -123,15 +123,16 @@ class Market():
instance = None
FORCEPUBLISHED_SHIPS = ("Ibis", "Impairor", "Velator", "Reaper")
FORCEPUBLISHED_GROUPS = ("Rookie ship")
FORCED_ITEM_MKTGRPS = { 2080: 648, 2083: 712, 2838: 977, 4579: 1050, 4621: 1051, 20358: 1152, 20371: 1189,
20443: 1163, 20700: 1187, 21510: 682, 21606: 1185, 22325: 714, 22327: 714, 22329: 714,
22331: 714, 22333: 714, 22335: 714, 22337: 714, 22339: 714, 22715: 620, 22760: 618,
22921: 1039, 22923: 1039, 24663: 1176, 24669: 1157, 25867: 1186, 25868: 1180, 27204: 1156,
27205: 1156, 27206: 1156, 27213: 1154, 27214: 1154, 27215: 1154, 27216: 1152, 27217: 1152,
27218: 1152, 27219: 1160, 27220: 1160, 27221: 1160, 28513: 644, 30328: 760, 30342: 760,
30420: 760, 30422: 760, 30424: 760, 30839: 760, 32248: 977, 32254: 1185, 32255: 1167,
32413: 679, 32416: 680, 32417: 680, 32459: 760, 32461: 760, 32463: 920, 32465: 837,
32467: 760, 32469: 760 }
FORCED_ITEM_MKTGRPS = { 2080: (648, 1), 2083: (712, 1), 2838: (977, 1), 4579: (1050, 1), 4621: (1051, 3), 20358: (1152, 3),
20371: (1189, 3), 20443: (1163, 3), 20700: (1187, 3), 21510: (682, 1), 21606: (1185, 3), 22325: (714, 3),
22327: (714, 3), 22329: (714, 3), 22331: (714, 3), 22333: (714, 1), 22335: (714, 1), 22337: (714, 1),
22339: (714, 1), 22715: (620, 4), 22760: (618, 4), 22921: (1039, 3), 22923: (1039, 3), 24663: (1176, 1),
24669: (1157, 3), 25867: (1186, 3), 25868: (1180, 3), 27204: (1156, 1), 27205: (1156, 1), 27206: (1156, 1),
27213: (1154, 1), 27214: (1154, 1), 27215: (1154, 1), 27216: (1152, 1), 27217: (1152, 1), 27218: (1152, 1),
27219: (1160, 1), 27220: (1160, 1), 27221: (1160, 1), 28513: (644, 4), 30328: (760, 1), 30342: (760, 1),
30420: (760, 1), 30422: (760, 1), 30424: (760, 1), 30839: (760, 1), 32248: (977, 4), 32254: (1185, 4),
32255: (1167, 4), 32413: (679, 4), 32416: (680, 4), 32417: (680, 4), 32459: (760, 1), 32461: (760, 1),
32463: (920, 1), 32465: (837, 1), 32467: (760, 1), 32469: (760, 1) }
META_MAP = {"normal": (1, 2, 14),
"faction": (4, 3),
"complex": (6,),
@@ -300,14 +301,11 @@ class Market():
if len(self.activeMetas) == 0:
return tuple()
forceditemids = filter(lambda typeid: self.FORCED_ITEM_MKTGRPS[typeid] == marketGroupId, self.FORCED_ITEM_MKTGRPS)
forceditems = list(eos.db.getItem(typeID) for typeID in forceditemids)
mg = eos.db.getMarketGroup(marketGroupId)
l = set()
populatedMetas = set()
for item in mg.items + forceditems:
for item in mg.items:
populatedMetas.add(1)
if 1 in self.activeMetas:
l.add(item)
@@ -318,6 +316,14 @@ class Market():
if var.metaGroup.ID in self.activeMetas:
l.add(var)
forceditemids = filter(lambda typeid: self.FORCED_ITEM_MKTGRPS[typeid][0] == marketGroupId, self.FORCED_ITEM_MKTGRPS)
forceditems = list(eos.db.getItem(typeID) for typeID in forceditemids)
for item in forceditems:
meta = self.FORCED_ITEM_MKTGRPS[item.ID][1]
populatedMetas.add(meta)
if meta in self.activeMetas:
l.add(item)
return list(l), populatedMetas
def getPriceNow(self, typeID):