PR #7772 is not enough to fix the issue with QCompleter, use event filter instead of connect

This commit is contained in:
UdjinM6 2016-05-31 05:30:35 +03:00
parent 950be19727
commit 16698cb77e

View file

@ -327,6 +327,14 @@ bool RPCConsole::eventFilter(QObject* obj, QEvent *event)
return true; return true;
} }
break; break;
case Qt::Key_Return:
case Qt::Key_Enter:
// forward these events to lineEdit
if(obj == autoCompleter->popup()) {
QApplication::postEvent(ui->lineEdit, new QKeyEvent(*keyevt));
return true;
}
break;
default: default:
// Typing in messages widget brings focus to line edit, and redirects key there // Typing in messages widget brings focus to line edit, and redirects key there
// Exclude most combinations and keys that emit no text, except paste shortcuts // Exclude most combinations and keys that emit no text, except paste shortcuts
@ -458,9 +466,7 @@ void RPCConsole::setClientModel(ClientModel *model)
autoCompleter = new QCompleter(wordList, this); autoCompleter = new QCompleter(wordList, this);
ui->lineEdit->setCompleter(autoCompleter); ui->lineEdit->setCompleter(autoCompleter);
autoCompleter->popup()->installEventFilter(this);
// clear the lineEdit after activating from QCompleter
connect(autoCompleter, SIGNAL(activated(const QString&)), ui->lineEdit, SLOT(clear()), Qt::QueuedConnection);
} }
} }