diff options
author | Scott Wehrenberg <scott@wehrenberg.us> | 2016-02-02 16:35:51 -0600 |
---|---|---|
committer | Scott Wehrenberg <scott@wehrenberg.us> | 2016-02-02 16:46:00 -0600 |
commit | ffe2299eee13fb62e6ad061f80d4508d94433d48 (patch) | |
tree | 0bcd1de674660c4c9d77fd22d800bbfef07edefd | |
parent | e8f804183e1a615567f1de1dedb150fda12fab1e (diff) |
Focus the treeView when down is pressed on the search box
-rw-r--r-- | mainwindow.cpp | 16 | ||||
-rw-r--r-- | mainwindow.h | 1 |
2 files changed, 16 insertions, 1 deletions
diff --git a/mainwindow.cpp b/mainwindow.cpp index c89a04a4..7dee65fd 100644 --- a/mainwindow.cpp +++ b/mainwindow.cpp @@ -897,6 +897,7 @@ void MainWindow::enableUiElements(bool state) { ui->updateButton->setEnabled(state); ui->treeView->setEnabled(state); ui->lineEdit->setEnabled(state); + ui->lineEdit->installEventFilter(this); ui->addButton->setEnabled(state); ui->usersButton->setEnabled(state); ui->configButton->setEnabled(state); @@ -989,6 +990,7 @@ void MainWindow::on_lineEdit_textChanged(const QString &arg1) { * @brief MainWindow::on_lineEdit_returnPressed */ void MainWindow::on_lineEdit_returnPressed() { + qDebug() << "on_lineEdit_returnPressed"; selectFirstFile(); on_treeView_clicked(ui->treeView->currentIndex()); } @@ -1594,6 +1596,18 @@ void MainWindow::closeEvent(QCloseEvent *event) { } } +bool MainWindow::eventFilter(QObject *obj, QEvent *event) +{ + if (obj == ui->lineEdit && event->type() == QEvent::KeyPress) + { + QKeyEvent *key = static_cast<QKeyEvent *>(event); + if(key->key() == Qt::Key_Down) { + ui->treeView->setFocus(); + } + } + return QObject::eventFilter(obj, event); +} + void MainWindow::keyPressEvent(QKeyEvent * event) { switch (event->key()) { case Qt::Key_Delete: @@ -1601,7 +1615,7 @@ void MainWindow::keyPressEvent(QKeyEvent * event) { break; case Qt::Key_Return: case Qt::Key_Enter: - on_editButton_clicked(); + on_treeView_clicked(ui->treeView->currentIndex()); break; case Qt::Key_Escape: ui->lineEdit->clear(); diff --git a/mainwindow.h b/mainwindow.h index 44c2e0c5..0464613d 100644 --- a/mainwindow.h +++ b/mainwindow.h @@ -60,6 +60,7 @@ class MainWindow : public QMainWindow { void closeEvent(QCloseEvent *event); void keyPressEvent(QKeyEvent * event); void changeEvent(QEvent *event); + bool eventFilter(QObject *obj, QEvent *event); private slots: |