add cyclic arrowkey navigation for entryview

This commit is contained in:
thez3ro 2018-01-22 21:51:09 +01:00
parent e4088d5e6c
commit 745d255808
No known key found for this signature in database
GPG Key ID: F628F9E41DD7C073
3 changed files with 18 additions and 15 deletions

View File

@ -19,7 +19,6 @@
#include <QKeyEvent>
#include <QMouseEvent>
#include <QDebug>
AutoTypeSelectView::AutoTypeSelectView(QWidget* parent)
: EntryView(parent)
@ -59,14 +58,8 @@ void AutoTypeSelectView::selectFirstEntry()
void AutoTypeSelectView::keyReleaseEvent(QKeyEvent* e)
{
qDebug() << e->key();
if (!e->modifiers() || (e->modifiers() & Qt::KeypadModifier && e->key() == Qt::Key_Enter)) {
if (e->key() == Qt::Key_Escape) {
emit rejected();
} else {
e->ignore();
}
if (e->key() == Qt::Key_Escape) {
emit rejected();
} else {
e->ignore();
}

View File

@ -153,12 +153,8 @@ void PasswordGeneratorWidget::setStandaloneMode(bool standalone)
void PasswordGeneratorWidget::keyPressEvent(QKeyEvent* e)
{
if (!e->modifiers() || (e->modifiers() & Qt::KeypadModifier && e->key() == Qt::Key_Enter)) {
if (e->key() == Qt::Key_Escape && m_standalone == true) {
emit dialogTerminated();
} else {
e->ignore();
}
if (e->key() == Qt::Key_Escape && m_standalone == true) {
emit dialogTerminated();
} else {
e->ignore();
}

View File

@ -121,6 +121,20 @@ void EntryView::keyPressEvent(QKeyEvent* event)
#endif
}
int last = m_model->rowCount() - 1;
if (event->key() == Qt::Key_Up && currentIndex().row() == 0) {
QModelIndex index = m_sortModel->mapToSource(m_sortModel->index(last, 0));
setCurrentEntry(m_model->entryFromIndex(index));
return;
}
if (event->key() == Qt::Key_Down && currentIndex().row() == last) {
QModelIndex index = m_sortModel->mapToSource(m_sortModel->index(0, 0));
setCurrentEntry(m_model->entryFromIndex(index));
return;
}
QTreeView::keyPressEvent(event);
}