From aed8d23aca2434a70f09d01aea5d89c363de0f79 Mon Sep 17 00:00:00 2001 From: Jussi Kuokkanen Date: Sat, 29 Aug 2020 23:05:40 +0300 Subject: [PATCH] don't select emoji completion by default and add minimum string length before showing completions --- src/TextInputWidget.cpp | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/src/TextInputWidget.cpp b/src/TextInputWidget.cpp index 08883cca..770aaca1 100644 --- a/src/TextInputWidget.cpp +++ b/src/TextInputWidget.cpp @@ -250,15 +250,18 @@ FilteredTextEdit::keyPressEvent(QKeyEvent *event) QTextEdit::keyPressEvent(event); emoji_popup_open_ = true; emoji_completion_model_->setFilterRegExp(wordUnderCursor()); - completer_->popup()->setCurrentIndex(completer_->completionModel()->index(0, 0)); - completer_->complete(completerRect()); break; } case Qt::Key_Return: case Qt::Key_Enter: if (emoji_popup_open_) { - event->ignore(); - return; + if (!completer_->popup()->currentIndex().isValid()) { + // No completion to select, do normal behavior + completer_->popup()->hide(); + emoji_popup_open_ = false; + } + else + event->ignore(); } if (!(event->modifiers() & Qt::ShiftModifier)) { @@ -307,11 +310,9 @@ FilteredTextEdit::keyPressEvent(QKeyEvent *event) if (isModifier) return; - if (emoji_popup_open_) { + if (emoji_popup_open_ && wordUnderCursor().length() > 2) { // Update completion emoji_completion_model_->setFilterRegExp(wordUnderCursor()); - completer_->popup()->setCurrentIndex( - completer_->completionModel()->index(0, 0)); completer_->complete(completerRect()); }