Skip to content

Commit f38c61d

Browse files
committed
update on fit change, new icon
1 parent 735827a commit f38c61d

File tree

2 files changed

+32
-10
lines changed

2 files changed

+32
-10
lines changed

gui/builtinMarketBrowser/itemView.py

Lines changed: 30 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
from logbook import Logger
33

44
import gui.builtinMarketBrowser.pfSearchBox as SBox
5+
import gui.globalEvents as GE
56
from config import slotColourMap, slotColourMapDark
67
from eos.saveddata.module import Module
78
from gui.builtinMarketBrowser.events import ItemSelected, RECENTLY_USED_MODULES, CHARGES_FOR_FIT
@@ -52,6 +53,8 @@ def __init__(self, parent, marketBrowser):
5253
self.Bind(wx.EVT_LIST_ITEM_ACTIVATED, self.itemActivated)
5354
self.Bind(wx.EVT_LIST_BEGIN_DRAG, self.startDrag)
5455

56+
self.mainFrame.Bind(GE.FIT_CHANGED, self.selectedFittingChanged)
57+
5558
self.active = []
5659

5760
def delaySearch(self, evt):
@@ -95,15 +98,7 @@ def selectionMade(self, context):
9598
if seldata == RECENTLY_USED_MODULES:
9699
items = self.sMkt.getRecentlyUsed()
97100
elif seldata == CHARGES_FOR_FIT:
98-
fitId = self.mainFrame.getActiveFit()
99-
items = set()
100-
if fitId is not None:
101-
fit = self.sFit.getFit(fitId)
102-
items = set()
103-
for mod in fit.modules:
104-
charges = Ammo.getInstance().getModuleFlatAmmo(mod)
105-
for charge in charges:
106-
items.add(charge)
101+
items = self.getChargesForActiveFit()
107102
elif seldata is not None:
108103
# If market group treeview item doesn't have children (other market groups or dummies),
109104
# then it should have items in it and we want to request them
@@ -132,6 +127,32 @@ def selectionMade(self, context):
132127
btn.setUserSelection(True)
133128
self.filterItemStore()
134129

130+
def getChargesForActiveFit(self):
131+
fitId = self.mainFrame.getActiveFit()
132+
133+
# no active fit => no charges
134+
if fitId is None:
135+
return set()
136+
137+
sAmmo = Ammo.getInstance()
138+
fit = self.sFit.getFit(fitId)
139+
items = set()
140+
for mod in fit.modules:
141+
charges = sAmmo.getModuleFlatAmmo(mod)
142+
for charge in charges:
143+
items.add(charge)
144+
return items
145+
146+
def selectedFittingChanged(self, event):
147+
event.Skip()
148+
activeFitID = self.mainFrame.getActiveFit()
149+
if activeFitID is not None and activeFitID not in event.fitIDs:
150+
return
151+
152+
items = self.getChargesForActiveFit()
153+
self.updateItemStore(items)
154+
self.filterItemStore()
155+
135156
def updateItemStore(self, items):
136157
self.unfilteredStore = items
137158

gui/builtinMarketBrowser/marketTree.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,8 @@ def __init__(self, parent, marketBrowser):
3535
# Add recently used modules node
3636
rumIconId = self.addImage("market_small", "gui")
3737
self.AppendItem(self.root, _t("Recently Used Items"), rumIconId, data=RECENTLY_USED_MODULES)
38-
self.AppendItem(self.root, "Charges For Active Fit", rumIconId, data=CHARGES_FOR_FIT)
38+
cffIconId = self.addImage("damagePattern_small", "gui")
39+
self.AppendItem(self.root, _t("Charges For Active Fit"), cffIconId, data=CHARGES_FOR_FIT)
3940

4041
# Bind our lookup method to when the tree gets expanded
4142
self.Bind(wx.EVT_TREE_ITEM_EXPANDING, self.expandLookup)

0 commit comments

Comments
 (0)