Made it possible to keypress again

Click outside of the popup closes it, also handles theme
enter / return keys.

Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
Tomaz Canabrava 2015-09-21 17:11:59 -03:00 committed by Dirk Hohndel
parent fdd28fddf2
commit 534e07399a

View file

@ -429,7 +429,7 @@ DiveLocationLineEdit::DiveLocationLineEdit(QWidget *parent)
view->setSelectionMode(QAbstractItemView::SingleSelection);
view->setParent(0, Qt::Popup);
view->installEventFilter(this);
view->setFocusProxy(this);
view->setFocusProxy(location_line_edit);
connect(this, &QLineEdit::textEdited, this, &DiveLocationLineEdit::setTemporaryDiveSiteName);
}
@ -437,6 +437,8 @@ DiveLocationLineEdit::DiveLocationLineEdit(QWidget *parent)
bool DiveLocationLineEdit::eventFilter(QObject *o, QEvent *e)
{
if(e->type() == QEvent::KeyPress) {
if (view->focusProxy() == this) qDebug() << "Ueh...";
else qDebug() << "Nao eh...";
QKeyEvent *keyEv = (QKeyEvent*) e;
qDebug() << view->focusProxy()->objectName();
@ -446,11 +448,21 @@ bool DiveLocationLineEdit::eventFilter(QObject *o, QEvent *e)
return true;
}
if(keyEv->key() == Qt::Key_Return) {
if(keyEv->key() == Qt::Key_Return || keyEv->key() == Qt::Key_Enter) {
view->hide();
return false;
}
event(e);
}
if(e->type() == QEvent::MouseButtonPress ) {
if (!view->underMouse()) {
view->hide();
return true;
}
}
return false;
}