Split search and recent modes

This commit is contained in:
DarkPhoenix
2019-04-03 17:49:08 +03:00
parent c144c16a7f
commit 5dae614fa1
2 changed files with 12 additions and 13 deletions

View File

@@ -98,7 +98,7 @@ class ItemView(Display):
self.sMkt.serviceMarketRecentlyUsedModules["pyfaMarketRecentlyUsedModules"].append(itemID)
def selectionMade(self, event=None):
self.marketBrowser.searchMode = False
self.marketBrowser.mode = 'normal'
# Grab the threeview selection and check if it's fine
sel = self.marketView.GetSelection()
if sel.IsOk():
@@ -126,13 +126,10 @@ class ItemView(Display):
self.updateItemStore(items)
# Set toggle buttons / use search mode flag if recently used modules category is selected (in order to have all modules listed and not filtered)
if seldata is not RECENTLY_USED_MODULES:
self.setToggles()
else:
self.marketBrowser.searchMode = True
self.setToggles()
if seldata is RECENTLY_USED_MODULES:
self.marketBrowser.mode = 'recent'
# Update filtered items
self.setToggles()
self.filterItemStore()
def updateItemStore(self, items):
@@ -191,7 +188,7 @@ class ItemView(Display):
self.selectionMade()
return
self.marketBrowser.searchMode = True
self.marketBrowser.mode = 'search'
self.sMkt.searchItems(search, self.populateSearch)
def clearSearch(self, event=None):
@@ -201,14 +198,14 @@ class ItemView(Display):
if event:
self.marketBrowser.search.Clear()
self.marketBrowser.searchMode = False
self.marketBrowser.mode = 'normal'
self.updateItemStore(set())
self.setToggles()
self.filterItemStore()
def populateSearch(self, items):
# If we're no longer searching, dump the results
if self.marketBrowser.searchMode is False:
if self.marketBrowser.mode != 'search':
return
self.updateItemStore(items)
self.setToggles()
@@ -239,7 +236,7 @@ class ItemView(Display):
item = self.active[sel]
sMkt = self.sMkt
sourceContext = "marketItemGroup" if self.marketBrowser.searchMode is False else "marketItemMisc"
sourceContext = "marketItemMisc" if self.marketBrowser.mode in ("search", "recent") else "marketItemGroup"
itemContext = sMkt.getCategoryByItem(item).name
menu = ContextMenu.getMenu((item,), (sourceContext, itemContext))

View File

@@ -34,6 +34,7 @@ pyfalog = Logger(__name__)
class MarketBrowser(wx.Panel):
def __init__(self, parent):
wx.Panel.__init__(self, parent)
@@ -51,7 +52,8 @@ class MarketBrowser(wx.Panel):
# Grab service stuff and create child objects
self.sMkt = Market.getInstance()
self.settings = MarketPriceSettings.getInstance()
self.searchMode = False
# Here we accept 3 modes: normal, search and recent
self.mode = 'normal'
self.marketView = MarketTree(self.splitter, self)
self.itemView = ItemView(self.splitter, self)
@@ -100,7 +102,7 @@ class MarketBrowser(wx.Panel):
self.itemView.filterItemStore()
def jump(self, item):
self.searchMode = False
self.mode = 'normal'
self.marketView.jump(item)
setting = self.settings.get('marketMGJumpMode')
itemMetaCat = self.sMkt.META_MAP_REVERSE[self.sMkt.getMetaGroupIdByItem(item)]