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) self.sMkt.serviceMarketRecentlyUsedModules["pyfaMarketRecentlyUsedModules"].append(itemID)
def selectionMade(self, event=None): def selectionMade(self, event=None):
self.marketBrowser.searchMode = False self.marketBrowser.mode = 'normal'
# Grab the threeview selection and check if it's fine # Grab the threeview selection and check if it's fine
sel = self.marketView.GetSelection() sel = self.marketView.GetSelection()
if sel.IsOk(): if sel.IsOk():
@@ -126,13 +126,10 @@ class ItemView(Display):
self.updateItemStore(items) 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) # 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: if seldata is RECENTLY_USED_MODULES:
self.setToggles() self.marketBrowser.mode = 'recent'
else:
self.marketBrowser.searchMode = True
self.setToggles()
# Update filtered items self.setToggles()
self.filterItemStore() self.filterItemStore()
def updateItemStore(self, items): def updateItemStore(self, items):
@@ -191,7 +188,7 @@ class ItemView(Display):
self.selectionMade() self.selectionMade()
return return
self.marketBrowser.searchMode = True self.marketBrowser.mode = 'search'
self.sMkt.searchItems(search, self.populateSearch) self.sMkt.searchItems(search, self.populateSearch)
def clearSearch(self, event=None): def clearSearch(self, event=None):
@@ -201,14 +198,14 @@ class ItemView(Display):
if event: if event:
self.marketBrowser.search.Clear() self.marketBrowser.search.Clear()
self.marketBrowser.searchMode = False self.marketBrowser.mode = 'normal'
self.updateItemStore(set()) self.updateItemStore(set())
self.setToggles() self.setToggles()
self.filterItemStore() self.filterItemStore()
def populateSearch(self, items): def populateSearch(self, items):
# If we're no longer searching, dump the results # If we're no longer searching, dump the results
if self.marketBrowser.searchMode is False: if self.marketBrowser.mode != 'search':
return return
self.updateItemStore(items) self.updateItemStore(items)
self.setToggles() self.setToggles()
@@ -239,7 +236,7 @@ class ItemView(Display):
item = self.active[sel] item = self.active[sel]
sMkt = self.sMkt 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 itemContext = sMkt.getCategoryByItem(item).name
menu = ContextMenu.getMenu((item,), (sourceContext, itemContext)) menu = ContextMenu.getMenu((item,), (sourceContext, itemContext))

View File

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