From ca66940ec39047eada21f7900bf0e49d61cb45fb Mon Sep 17 00:00:00 2001 From: Konstantinos Sideris Date: Sat, 14 Apr 2018 14:12:36 +0300 Subject: Popup improvements - ESC closes the popup. - Up/Down arrows for navigation. - BackTab for backwards navigation. fixes #301 fixes #302 --- src/TextInputWidget.cc | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) (limited to 'src/TextInputWidget.cc') diff --git a/src/TextInputWidget.cc b/src/TextInputWidget.cc index 459fcd51..4c6c8704 100644 --- a/src/TextInputWidget.cc +++ b/src/TextInputWidget.cc @@ -88,9 +88,13 @@ FilteredTextEdit::FilteredTextEdit(QWidget *parent) // For cycling through the suggestions by hitting tab. connect(this, - &FilteredTextEdit::cycleSuggestions, + &FilteredTextEdit::selectNextSuggestion, &popup_, - &SuggestionsPopup::cycleThroughSuggestions); + &SuggestionsPopup::selectNextSuggestion); + connect(this, + &FilteredTextEdit::selectPreviousSuggestion, + &popup_, + &SuggestionsPopup::selectPreviousSuggestion); connect(this, &FilteredTextEdit::selectHoveredSuggestion, &popup_, @@ -138,19 +142,21 @@ FilteredTextEdit::keyPressEvent(QKeyEvent *event) if (popup_.isVisible()) { switch (event->key()) { + case Qt::Key_Down: case Qt::Key_Tab: - emit cycleSuggestions(); + emit selectNextSuggestion(); return; case Qt::Key_Enter: case Qt::Key_Return: emit selectHoveredSuggestion(); return; case Qt::Key_Escape: - break; - case Qt::Key_Space: - case Qt::Key_Backtab: { closeSuggestions(); - break; + return; + case Qt::Key_Up: + case Qt::Key_Backtab: { + emit selectPreviousSuggestion(); + return; } default: break; -- cgit 1.5.1