diff --git a/gui/shipBrowser.py b/gui/shipBrowser.py index df9d12828..4e394fb35 100644 --- a/gui/shipBrowser.py +++ b/gui/shipBrowser.py @@ -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: