PR #7772 is not enough to fix the issue with QCompleter, use event filter instead of connect
This commit is contained in:
parent
950be19727
commit
16698cb77e
1 changed files with 9 additions and 3 deletions
|
@ -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);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue