diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/application.cpp | 2 | ||||
| -rw-r--r-- | src/findbar.cpp | 15 | ||||
| -rw-r--r-- | src/findbar.h | 2 | ||||
| -rw-r--r-- | src/mainview.cpp | 6 | ||||
| -rw-r--r-- | src/mainwindow.cpp | 1 | ||||
| -rw-r--r-- | src/webtab.cpp | 3 | 
6 files changed, 18 insertions, 11 deletions
| diff --git a/src/application.cpp b/src/application.cpp index cfd4d060..14fd5ce0 100644 --- a/src/application.cpp +++ b/src/application.cpp @@ -382,8 +382,8 @@ void Application::loadResolvedUrl(ThreadWeaver::Job *job)      if (view)      { -        view->setFocus();          view->load(url);     +        view->setFocus();          // we are sure of the url now, let's add it to history          // anyway we store here just http sites because local and ftp ones are diff --git a/src/findbar.cpp b/src/findbar.cpp index bd1a5137..9efb9c6a 100644 --- a/src/findbar.cpp +++ b/src/findbar.cpp @@ -143,12 +143,6 @@ void FindBar::show()  void FindBar::keyPressEvent(QKeyEvent* event)  { -    if (event->key() == Qt::Key_Escape) -    { -        hide(); -        m_hideTimer->stop(); -        return; -    }      if (event->key() == Qt::Key_Return && !m_lineEdit->text().isEmpty())      {          emit searchString(m_lineEdit->text()); @@ -158,6 +152,7 @@ void FindBar::keyPressEvent(QKeyEvent* event)      QWidget::keyPressEvent(event);  } +  void FindBar::notifyMatch(bool match)  {      QPalette p = m_lineEdit->palette(); @@ -180,3 +175,11 @@ void FindBar::notifyMatch(bool match)      m_lineEdit->setPalette(p);      m_hideTimer->start(60000);  } + + + +void FindBar::hide() +{ +    m_hideTimer->stop(); +    QWidget::hide(); +} diff --git a/src/findbar.h b/src/findbar.h index fa369f66..5a41c0bc 100644 --- a/src/findbar.h +++ b/src/findbar.h @@ -56,6 +56,7 @@ public:  public slots:      void clear();      void show(); +    void hide();      void notifyMatch(bool match);  protected Q_SLOTS: @@ -68,7 +69,6 @@ private:      KLineEdit *m_lineEdit;      QCheckBox *m_matchCase;      QTimer *m_hideTimer; -  };  #endif diff --git a/src/mainview.cpp b/src/mainview.cpp index 02823d3b..57185fd2 100644 --- a/src/mainview.cpp +++ b/src/mainview.cpp @@ -312,7 +312,7 @@ void MainView::currentChanged(int index)          Application::instance()->mainWindow()->setZoomSliderFactor(tab->view()->zoomFactor());      // set focus to the current webview -    tab->setFocus(); +    tab->view()->setFocus();  } @@ -511,8 +511,8 @@ void MainView::closeTab(int index)          }          removeTab(index); -        updateTabBar();         // UI operation: do it ASAP!! -        tab->deleteLater();  // webView is scheduled for deletion. +        updateTabBar();        // UI operation: do it ASAP!! +        tab->deleteLater();    // webView is scheduled for deletion.          emit tabsChanged(); diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 30e5a061..e4890b72 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -960,6 +960,7 @@ void MainWindow::keyPressEvent(QKeyEvent *event)      if (event->key() == Qt::Key_Escape)      {          m_findBar->hide(); +        currentTab()->setFocus();   // give focus to web pages          return;      } diff --git a/src/webtab.cpp b/src/webtab.cpp index b1f2cdfc..b3eb71f0 100644 --- a/src/webtab.cpp +++ b/src/webtab.cpp @@ -64,6 +64,9 @@ WebTab::WebTab(QWidget* parent)      , m_view( new WebView(this) )      , m_progress(0)  { +    // fix focus handling +    setFocusProxy( m_view ); +          QVBoxLayout* l = new QVBoxLayout(this);      l->setMargin(0);      l->setSpacing(0); | 
