From 4ddf1733e41329ef6907a793e3f43d5b2b903cae Mon Sep 17 00:00:00 2001 From: PhatPhuckDave Date: Sat, 6 Dec 2025 01:29:39 +0100 Subject: [PATCH] Refresh market filter when fit changed --- gui/builtinMarketBrowser/itemView.py | 19 +++++++++++-------- gui/marketBrowser.py | 7 +++++++ 2 files changed, 18 insertions(+), 8 deletions(-) diff --git a/gui/builtinMarketBrowser/itemView.py b/gui/builtinMarketBrowser/itemView.py index ebc0985b6..603ddac1f 100644 --- a/gui/builtinMarketBrowser/itemView.py +++ b/gui/builtinMarketBrowser/itemView.py @@ -154,19 +154,22 @@ class ItemView(Display): # skip the event so the other handlers also get called event.Skip() - if self.marketBrowser.mode != 'charges': - return - activeFitID = self.mainFrame.getActiveFit() # if it was not the active fitting that was changed, do not do anything if activeFitID is not None and activeFitID not in event.fitIDs: return - items = self.getChargesForActiveFit() - - # update the UI - self.updateItemStore(items) - self.filterItemStore() + # Handle charges mode + if self.marketBrowser.mode == 'charges': + items = self.getChargesForActiveFit() + # update the UI + self.updateItemStore(items) + self.filterItemStore() + return + + # If "Fits" filter is active, re-filter the current view + if self.marketBrowser.getFitsFilter(): + self.filterItemStore() def updateItemStore(self, items): self.unfilteredStore = items diff --git a/gui/marketBrowser.py b/gui/marketBrowser.py index 5fcb1439f..5fac37969 100644 --- a/gui/marketBrowser.py +++ b/gui/marketBrowser.py @@ -153,6 +153,13 @@ class MarketBrowser(wx.Panel): self.itemView.filterItemStore() + def getFitsFilter(self): + """Check if Fits button is active""" + for btn in self.slotButtons: + if btn.filterType == "fits" and btn.userSelected: + return True + return False + def jump(self, item): self.mode = 'normal' self.marketView.jump(item)