diff options
| author | Yoann Laissus <yoann.laissus@gmail.com> | 2010-03-05 23:10:20 +0100 | 
|---|---|---|
| committer | Yoann Laissus <yoann.laissus@gmail.com> | 2010-03-14 00:08:31 +0100 | 
| commit | 29e095b81d241a77f43bf4bf293d9428b6caea26 (patch) | |
| tree | 4db08e63d47e1b547b965d239d04e43d6a515b34 | |
| parent | rekonq 0.4.51 (diff) | |
| download | rekonq-29e095b81d241a77f43bf4bf293d9428b6caea26.tar.xz | |
Add middle click support for next, back and home in the main toolbar
| -rw-r--r-- | src/mainwindow.cpp | 48 | ||||
| -rw-r--r-- | src/mainwindow.h | 3 | 
2 files changed, 45 insertions, 6 deletions
diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 60784af0..a2768bb6 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -286,7 +286,8 @@ void MainWindow::setupActions()      fullScreenShortcut.setAlternate( Qt::Key_F11 );      a->setShortcut( fullScreenShortcut ); -    KStandardAction::home(this, SLOT(homePage()), actionCollection()); +    a = actionCollection()->addAction( KStandardAction::Home ); +    connect(a, SIGNAL(triggered(Qt::MouseButtons,Qt::KeyboardModifiers)), this, SLOT(homePage(Qt::MouseButtons)));      KStandardAction::preferences(this, SLOT(preferences()), actionCollection());      a = KStandardAction::redisplay(m_view, SLOT(webReload()), actionCollection()); @@ -345,14 +346,16 @@ void MainWindow::setupActions()      connect(a, SIGNAL(triggered(bool)), this, SLOT(clearPrivateData()));      // ========================= History related actions ============================== -    a = KStandardAction::back(this, SLOT(openPrevious()) , actionCollection()); +    a = actionCollection()->addAction( KStandardAction::Back ); +    connect(a, SIGNAL(triggered(Qt::MouseButtons,Qt::KeyboardModifiers)), this, SLOT(openPrevious(Qt::MouseButtons)));      m_historyBackMenu = new KMenu(this);      a->setMenu(m_historyBackMenu);      connect(m_historyBackMenu, SIGNAL(aboutToShow()), this, SLOT(aboutToShowBackMenu()));      connect(m_historyBackMenu, SIGNAL(triggered(QAction *)), this, SLOT(openActionUrl(QAction *))); -    KStandardAction::forward(this, SLOT(openNext()) , actionCollection()); +    a = actionCollection()->addAction( KStandardAction::Forward ); +    connect(a, SIGNAL(triggered(Qt::MouseButtons,Qt::KeyboardModifiers)), this, SLOT(openNext(Qt::MouseButtons)));      // ============================== General Tab Actions ====================================      a = new KAction(KIcon("tab-new"), i18n("New &Tab"), this); @@ -929,9 +932,18 @@ void MainWindow::viewPageSource()  } +void MainWindow::homePage(Qt::MouseButtons btn) +{ +    if(btn == Qt::MidButton) +        Application::instance()->loadUrl( KUrl(ReKonfig::homePage()), Rekonq::SettingOpenTab ); +    else +        currentTab()->view()->load( QUrl(ReKonfig::homePage()) ); +} + +  void MainWindow::homePage()  { -    currentTab()->view()->load( QUrl(ReKonfig::homePage()) ); +    homePage(Qt::LeftButton);  } @@ -974,17 +986,41 @@ void MainWindow::browserLoading(bool v)  void MainWindow::openPrevious()  { +    openPrevious(Qt::LeftButton); +} + + +void MainWindow::openPrevious(Qt::MouseButtons btn) +{      QWebHistory *history = currentTab()->view()->history();      if (history->canGoBack()) -        history->goToItem(history->backItem()); +    { +        KUrl back = history->backItem().url(); +        if(btn == Qt::MidButton) +            Application::instance()->loadUrl(back, Rekonq::SettingOpenTab); +        else +            Application::instance()->loadUrl(back); +    }  }  void MainWindow::openNext()  { +    openNext(Qt::LeftButton); +} + + +void MainWindow::openNext(Qt::MouseButtons btn) +{      QWebHistory *history = currentTab()->view()->history();      if (history->canGoForward()) -        history->goToItem(history->forwardItem()); +    { +        KUrl next = history->forwardItem().url(); +        if(btn == Qt::MidButton) +            Application::instance()->loadUrl(next, Rekonq::SettingOpenTab); +        else +            Application::instance()->loadUrl(next); +    }  } diff --git a/src/mainwindow.h b/src/mainwindow.h index 57b88dfd..9e491c69 100644 --- a/src/mainwindow.h +++ b/src/mainwindow.h @@ -88,6 +88,7 @@ private:  public slots:      void homePage(); +    void homePage(Qt::MouseButtons);      /**       * Notifies a message in a popup @@ -123,7 +124,9 @@ private slots:      // history related      void openPrevious(); +    void openPrevious(Qt::MouseButtons);      void openNext(); +    void openNext(Qt::MouseButtons);      // Find Action slots      void find(const QString &);  | 
