From db07f9d53490f2aa6b308236c53c346abc8bb038 Mon Sep 17 00:00:00 2001 From: DarkPhoenix Date: Wed, 3 Apr 2019 15:58:18 +0300 Subject: [PATCH] Implement logic to autoselect some metagroups if no items were filtered --- gui/builtinMarketBrowser/itemView.py | 24 +++++++++++++++++-- .../pyfaMarketPreferences.py | 2 +- 2 files changed, 23 insertions(+), 3 deletions(-) diff --git a/gui/builtinMarketBrowser/itemView.py b/gui/builtinMarketBrowser/itemView.py index 97db645d7..53aa13afc 100644 --- a/gui/builtinMarketBrowser/itemView.py +++ b/gui/builtinMarketBrowser/itemView.py @@ -140,13 +140,33 @@ class ItemView(Display): self.unfilteredStore = items def filterItemStore(self): + filteredItems = self.filterItems() + if len(filteredItems) == 0: + setting = self.marketBrowser.settings.get('marketMGEmptyMode') + # Enable leftmost available + if setting == 1: + for btn in self.marketBrowser.metaButtons: + if btn.IsEnabled() and not btn.GetValue(): + btn.setUserSelection(True) + break + filteredItems = self.filterItems() + # Enable all + elif setting == 2: + for btn in self.marketBrowser.metaButtons: + if not btn.GetValue(): + btn.setUserSelection(True) + filteredItems = self.filterItems() + self.filteredStore = filteredItems + self.update(list(self.filteredStore)) + + def filterItems(self): sMkt = self.sMkt selectedMetas = set() for btn in self.marketBrowser.metaButtons: if btn.GetValue(): selectedMetas.update(sMkt.META_MAP[btn.metaName]) - self.filteredStore = sMkt.filterItemsByMeta(self.unfilteredStore, selectedMetas) - self.update(list(self.filteredStore)) + filteredItems = sMkt.filterItemsByMeta(self.unfilteredStore, selectedMetas) + return filteredItems def setToggles(self): metaIDs = set() diff --git a/gui/builtinPreferenceViews/pyfaMarketPreferences.py b/gui/builtinPreferenceViews/pyfaMarketPreferences.py index dda845a9a..bdb9832a3 100644 --- a/gui/builtinPreferenceViews/pyfaMarketPreferences.py +++ b/gui/builtinPreferenceViews/pyfaMarketPreferences.py @@ -89,7 +89,7 @@ class PFMarketPref(PreferenceView): mainSizer.Add(self.rbMarketJump, 0, wx.EXPAND | wx.TOP | wx.RIGHT, 10) self.rbMarketJump.Bind(wx.EVT_RADIOBOX, self.OnMarketJumpChange) - self.rbMarketEmpty = wx.RadioBox(panel, -1, "Empty Market View", wx.DefaultPosition, wx.DefaultSize, ["No changes to meta buttons", "Enable leftmost available meta button", "Enable all available meta buttons", "Enable all meta buttons"], 1, wx.RA_SPECIFY_COLS) + self.rbMarketEmpty = wx.RadioBox(panel, -1, "Empty Market View", wx.DefaultPosition, wx.DefaultSize, ["No changes to meta buttons", "Enable leftmost available meta button", "Enable all meta buttons"], 1, wx.RA_SPECIFY_COLS) self.rbMarketEmpty.SetSelection(self.priceSettings.get('marketMGEmptyMode')) mainSizer.Add(self.rbMarketEmpty, 0, wx.EXPAND | wx.TOP | wx.RIGHT, 10) self.rbMarketEmpty.Bind(wx.EVT_RADIOBOX, self.OnMarketEmptyChange)