summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorScott Wehrenberg <scott@wehrenberg.us>2016-02-02 16:35:51 -0600
committerScott Wehrenberg <scott@wehrenberg.us>2016-02-02 16:46:00 -0600
commitffe2299eee13fb62e6ad061f80d4508d94433d48 (patch)
tree0bcd1de674660c4c9d77fd22d800bbfef07edefd
parente8f804183e1a615567f1de1dedb150fda12fab1e (diff)
Focus the treeView when down is pressed on the search box
-rw-r--r--mainwindow.cpp16
-rw-r--r--mainwindow.h1
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: