mirror of
https://github.com/ankitects/anki.git
synced 2025-09-18 22:12:21 -04:00
Wait for some time before performing sidebar search
This commit is contained in:
parent
6850e0f78e
commit
9492c8305e
1 changed files with 10 additions and 2 deletions
|
@ -185,16 +185,24 @@ class SidebarSearchBar(QLineEdit):
|
||||||
def __init__(self, sidebar: SidebarTreeView):
|
def __init__(self, sidebar: SidebarTreeView):
|
||||||
QLineEdit.__init__(self, sidebar)
|
QLineEdit.__init__(self, sidebar)
|
||||||
self.sidebar = sidebar
|
self.sidebar = sidebar
|
||||||
|
self.timer = QTimer(self)
|
||||||
|
self.timer.setInterval(600)
|
||||||
|
self.timer.setSingleShot(True)
|
||||||
|
qconnect(self.timer.timeout, self.onSearch)
|
||||||
qconnect(self.textChanged, self.onTextChanged)
|
qconnect(self.textChanged, self.onTextChanged)
|
||||||
|
|
||||||
def onTextChanged(self, text: str):
|
def onTextChanged(self, text: str):
|
||||||
self.sidebar.search_for(text)
|
if not self.timer.isActive():
|
||||||
|
self.timer.start()
|
||||||
|
|
||||||
|
def onSearch(self):
|
||||||
|
self.sidebar.search_for(self.text())
|
||||||
|
|
||||||
def keyPressEvent(self, evt):
|
def keyPressEvent(self, evt):
|
||||||
if evt.key() in (Qt.Key_Up, Qt.Key_Down):
|
if evt.key() in (Qt.Key_Up, Qt.Key_Down):
|
||||||
self.sidebar.setFocus()
|
self.sidebar.setFocus()
|
||||||
elif evt.key() in (Qt.Key_Enter, Qt.Key_Return):
|
elif evt.key() in (Qt.Key_Enter, Qt.Key_Return):
|
||||||
self.onTextChanged(self.text())
|
self.onSearch()
|
||||||
else:
|
else:
|
||||||
QLineEdit.keyPressEvent(self, evt)
|
QLineEdit.keyPressEvent(self, evt)
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue