LocationCompleterView: Fix Shift+Tab handling

remotes/origin/Falkon/3.0
David Rosca 8 years ago
parent 11e2ff168e
commit d443a69d8f
No known key found for this signature in database
GPG Key ID: EBC3FC294452C6D8
  1. 10
      src/lib/navigation/completer/locationcompleterview.cpp

@ -199,11 +199,15 @@ bool LocationCompleterView::eventFilter(QObject* object, QEvent* event)
case Qt::Key_Tab: case Qt::Key_Tab:
case Qt::Key_Backtab: { case Qt::Key_Backtab: {
if (keyEvent->modifiers() != Qt::NoModifier) { const bool isShift = keyEvent->modifiers() == Qt::ShiftModifier;
if (keyEvent->modifiers() != Qt::NoModifier && !isShift) {
return false; return false;
} }
Qt::Key k = keyEvent->key() == Qt::Key_Tab ? Qt::Key_Down : Qt::Key_Up; bool isBack = keyEvent->key() == Qt::Key_Backtab;
QKeyEvent ev(QKeyEvent::KeyPress, k, Qt::NoModifier); if (keyEvent->key() == Qt::Key_Tab && isShift) {
isBack = true;
}
QKeyEvent ev(QKeyEvent::KeyPress, isBack ? Qt::Key_Up : Qt::Key_Down, Qt::NoModifier);
QApplication::sendEvent(focusProxy(), &ev); QApplication::sendEvent(focusProxy(), &ev);
return true; return true;
} }

Loading…
Cancel
Save