From 6db7ee5a7d007a17511c53d87d02e257165bf591 Mon Sep 17 00:00:00 2001 From: Andrea Diamantini Date: Thu, 23 Jul 2009 00:31:39 +0200 Subject: Fixing findbar focus on find request. Also hiding it with ESC key when it has no focus. Courtesy patch from Johannes Zellner. Many Thanks! --- src/findbar.cpp | 8 ++++---- src/mainwindow.cpp | 12 ++++++++++++ src/mainwindow.h | 1 + 3 files changed, 17 insertions(+), 4 deletions(-) diff --git a/src/findbar.cpp b/src/findbar.cpp index 4f7ce11e..3efe470b 100644 --- a/src/findbar.cpp +++ b/src/findbar.cpp @@ -115,15 +115,15 @@ void FindBar::clear() void FindBar::show() { + // set focus to findbar if user select showFindBar shortcut + m_lineEdit->setFocus(); + m_lineEdit->selectAll(); + // show findbar if not visible if (isVisible()) return; QWidget::show(); - - // set focus to findbar if user select showFindBar shortcut - m_lineEdit->setFocus(); - m_lineEdit->selectAll(); } diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 5958e4be..d86729ad 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -855,6 +855,18 @@ bool MainWindow::queryClose() } +void MainWindow::keyPressEvent(QKeyEvent *event) +{ + if (event->key() == Qt::Key_Escape) + { + m_findBar->hide(); + return; + } + + KXmlGuiWindow::keyPressEvent(event); +} + + QAction *MainWindow::actionByName(const QString name) { QAction *ret = actionCollection()->action(name); diff --git a/src/mainwindow.h b/src/mainwindow.h index f49a0615..0ca13429 100644 --- a/src/mainwindow.h +++ b/src/mainwindow.h @@ -91,6 +91,7 @@ public slots: protected: bool queryClose(); + void keyPressEvent(QKeyEvent *event); private slots: void postLaunch(); -- cgit v1.2.1