A spot of refactoring

This commit is contained in:
Kovid Goyal 2014-10-06 21:48:31 +05:30
parent d96714ed24
commit 33d2ff5662

View File

@ -184,24 +184,32 @@ class CompletionPopup(QWidget):
QWidget.hide(self) QWidget.hide(self)
self.relayout_timer.stop() self.relayout_timer.stop()
def handle_keypress(self, ev):
key = ev.key()
if key == Qt.Key_Escape:
self.hide(), ev.accept()
return True
if key == Qt.Key_Tab:
self.choose_next_result(previous=ev.modifiers() & Qt.ShiftModifier)
ev.accept()
return True
if key == Qt.Key_Backtab:
self.choose_next_result(previous=ev.modifiers() & Qt.ShiftModifier)
return True
if key in (Qt.Key_Up, Qt.Key_Down):
self.choose_next_result(previous=key == Qt.Key_Up)
return True
return False
def eventFilter(self, obj, ev): def eventFilter(self, obj, ev):
if obj is self.parent() and self.isVisible(): if obj is self.parent() and self.isVisible():
if ev.type() == ev.KeyPress: etype = ev.type()
key = ev.key() if etype == ev.KeyPress:
if key == Qt.Key_Escape: ret = self.handle_keypress(ev)
self.hide() if ret:
return True ev.accept()
if key == Qt.Key_Tab: return ret
self.choose_next_result(previous=ev.modifiers() & Qt.ShiftModifier) elif etype == ev.Resize:
return True
if key == Qt.Key_Backtab:
self.choose_next_result(previous=ev.modifiers() & Qt.ShiftModifier)
return True
if key in (Qt.Key_Up, Qt.Key_Down):
self.choose_next_result(previous=key == Qt.Key_Up)
return True
elif ev.type() == ev.Resize:
self.relayout_timer.start() self.relayout_timer.start()
return False return False