Revert "Remove search related timers. Restrict market search to 4+"

This reverts commit a696b72d68.
This commit is contained in:
cncfanatics
2010-08-23 20:21:19 +02:00
parent cd03df252e
commit 16614a8ffb
3 changed files with 19 additions and 10 deletions

View File

@@ -19,7 +19,7 @@
import eos.db
import eos.types
import time
from sqlalchemy.sql import or_
class Market():
instance = None
@@ -84,7 +84,6 @@ class Market():
return ships
def searchItems(self, name):
t = time.time()
filter = (eos.types.Category.name.in_(self.SEARCH_CATEGORIES), eos.types.Item.published == 1)
results = eos.db.searchItems(name, where=filter,
join=(eos.types.Item.group, eos.types.Group.category),
@@ -95,7 +94,6 @@ class Market():
if item.category.name in self.SEARCH_CATEGORIES:
items.append((item.ID, item.name, item.metaGroup.ID if item.metaGroup else 1, item.icon.iconFile if item.icon else ""))
print time.time() - t
return items
def searchFits(self, name):

View File

@@ -42,15 +42,19 @@ class MarketBrowser(wx.Panel):
p.SetMinSize((wx.SIZE_AUTO_WIDTH, 27))
#Bind search
self.search.Bind(wx.EVT_TEXT_ENTER, self.startSearch)
self.search.Bind(wx.EVT_SEARCHCTRL_SEARCH_BTN, self.startSearch)
self.search.Bind(wx.EVT_TEXT_ENTER, self.scheduleSearch)
self.search.Bind(wx.EVT_SEARCHCTRL_SEARCH_BTN, self.scheduleSearch)
self.search.Bind(wx.EVT_SEARCHCTRL_CANCEL_BTN, self.clearSearch)
self.search.Bind(wx.EVT_TEXT, self.startSearch)
self.search.Bind(wx.EVT_TEXT, self.scheduleSearch)
self.Bind(wx.EVT_TIMER, self.startSearch)
#Helper vars for search: INIT EM ALREADY
self.searching = False
self.searchResults = None
self.searchTimer = wx.Timer()
self.searchTimer.SetOwner(self)
self.splitter = wx.SplitterWindow(self, style = wx.SP_LIVE_UPDATE)
vbox.Add(self.splitter, 1, wx.EXPAND)
@@ -208,7 +212,7 @@ class MarketBrowser(wx.Panel):
def startSearch(self, event):
search = self.search.GetLineText(0)
if len(search) < 4:
if len(search) < 3:
self.clearSearch(event, False)
return

View File

@@ -58,10 +58,13 @@ class ShipBrowser(wx.Panel):
self.shipMenu.copy.Bind(wx.EVT_BUTTON, self.copyFit)
#Bind search
self.shipMenu.search.Bind(wx.EVT_TEXT_ENTER, self.startSearch)
self.shipMenu.search.Bind(wx.EVT_SEARCHCTRL_SEARCH_BTN, self.startSearch)
self.shipMenu.search.Bind(wx.EVT_TEXT_ENTER, self.scheduleSearch)
self.shipMenu.search.Bind(wx.EVT_SEARCHCTRL_SEARCH_BTN, self.scheduleSearch)
self.shipMenu.search.Bind(wx.EVT_SEARCHCTRL_CANCEL_BTN, self.clearSearch)
self.shipMenu.search.Bind(wx.EVT_TEXT, self.startSearch)
self.shipMenu.search.Bind(wx.EVT_TEXT, self.scheduleSearch)
self.Bind(wx.EVT_TIMER, self.startSearch)
self.searchTimer = wx.Timer(self)
self.timer = None
@@ -197,6 +200,10 @@ class ShipBrowser(wx.Panel):
tree.SelectItem(childId)
tree.EditLabel(childId)
def scheduleSearch(self, event):
self.searchTimer.Stop()
self.searchTimer.Start(100, wx.TIMER_ONE_SHOT)
def clearSearch(self, event, clearText=True):
if self.getActiveTree() == self.searchView:
if clearText: