diff --git a/controller/market.py b/controller/market.py index 7e5d2ab2e..549a192c9 100644 --- a/controller/market.py +++ b/controller/market.py @@ -19,7 +19,7 @@ import eos.db import eos.types -from sqlalchemy.sql import or_ +import time class Market(): instance = None @@ -84,6 +84,7 @@ 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), @@ -94,6 +95,7 @@ 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): diff --git a/gui/marketBrowser.py b/gui/marketBrowser.py index dc7ebcbfc..418000c79 100644 --- a/gui/marketBrowser.py +++ b/gui/marketBrowser.py @@ -42,19 +42,15 @@ class MarketBrowser(wx.Panel): p.SetMinSize((wx.SIZE_AUTO_WIDTH, 27)) #Bind search - self.search.Bind(wx.EVT_TEXT_ENTER, self.scheduleSearch) - self.search.Bind(wx.EVT_SEARCHCTRL_SEARCH_BTN, self.scheduleSearch) + self.search.Bind(wx.EVT_TEXT_ENTER, self.startSearch) + self.search.Bind(wx.EVT_SEARCHCTRL_SEARCH_BTN, self.startSearch) self.search.Bind(wx.EVT_SEARCHCTRL_CANCEL_BTN, self.clearSearch) - self.search.Bind(wx.EVT_TEXT, self.scheduleSearch) - self.Bind(wx.EVT_TIMER, self.startSearch) + self.search.Bind(wx.EVT_TEXT, 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) @@ -212,7 +208,7 @@ class MarketBrowser(wx.Panel): def startSearch(self, event): search = self.search.GetLineText(0) - if len(search) < 3: + if len(search) < 4: self.clearSearch(event, False) return diff --git a/gui/shipBrowser.py b/gui/shipBrowser.py index 4e394fb35..df9d12828 100644 --- a/gui/shipBrowser.py +++ b/gui/shipBrowser.py @@ -58,13 +58,10 @@ class ShipBrowser(wx.Panel): self.shipMenu.copy.Bind(wx.EVT_BUTTON, self.copyFit) #Bind search - 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_TEXT_ENTER, self.startSearch) + self.shipMenu.search.Bind(wx.EVT_SEARCHCTRL_SEARCH_BTN, self.startSearch) self.shipMenu.search.Bind(wx.EVT_SEARCHCTRL_CANCEL_BTN, self.clearSearch) - self.shipMenu.search.Bind(wx.EVT_TEXT, self.scheduleSearch) - self.Bind(wx.EVT_TIMER, self.startSearch) - - self.searchTimer = wx.Timer(self) + self.shipMenu.search.Bind(wx.EVT_TEXT, self.startSearch) self.timer = None @@ -200,10 +197,6 @@ 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: