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,15 +184,14 @@ class CompletionPopup(QWidget):
QWidget.hide(self) QWidget.hide(self)
self.relayout_timer.stop() self.relayout_timer.stop()
def eventFilter(self, obj, ev): def handle_keypress(self, ev):
if obj is self.parent() and self.isVisible():
if ev.type() == ev.KeyPress:
key = ev.key() key = ev.key()
if key == Qt.Key_Escape: if key == Qt.Key_Escape:
self.hide() self.hide(), ev.accept()
return True return True
if key == Qt.Key_Tab: if key == Qt.Key_Tab:
self.choose_next_result(previous=ev.modifiers() & Qt.ShiftModifier) self.choose_next_result(previous=ev.modifiers() & Qt.ShiftModifier)
ev.accept()
return True return True
if key == Qt.Key_Backtab: if key == Qt.Key_Backtab:
self.choose_next_result(previous=ev.modifiers() & Qt.ShiftModifier) self.choose_next_result(previous=ev.modifiers() & Qt.ShiftModifier)
@ -200,8 +199,17 @@ class CompletionPopup(QWidget):
if key in (Qt.Key_Up, Qt.Key_Down): if key in (Qt.Key_Up, Qt.Key_Down):
self.choose_next_result(previous=key == Qt.Key_Up) self.choose_next_result(previous=key == Qt.Key_Up)
return True return True
return False
elif ev.type() == ev.Resize: def eventFilter(self, obj, ev):
if obj is self.parent() and self.isVisible():
etype = ev.type()
if etype == ev.KeyPress:
ret = self.handle_keypress(ev)
if ret:
ev.accept()
return ret
elif etype == ev.Resize:
self.relayout_timer.start() self.relayout_timer.start()
return False return False