diff options
| -rw-r--r-- | src/mainview.cpp | 11 | ||||
| -rw-r--r-- | src/mainview.h | 1 | ||||
| -rw-r--r-- | src/mainwindow.cpp | 10 | 
3 files changed, 22 insertions, 0 deletions
| diff --git a/src/mainview.cpp b/src/mainview.cpp index 1c36adcf..01f0e1a4 100644 --- a/src/mainview.cpp +++ b/src/mainview.cpp @@ -657,6 +657,17 @@ void MainView::openClosedTab()      }  } +void MainView::switchToTab() +{ +    // uses the sender to determine the tab index +    QAction *sender = static_cast<QAction*>(QObject::sender()); +    int index = sender->data().toInt(); +    index -= 1; // to compensate for off by 1 presented to the user +    if( index < 0 || index >= count() ) +        return; +    setCurrentIndex( index ); +} +  QLabel *MainView::animatedLoading(int index, bool addMovie)  {      if (index == -1) diff --git a/src/mainview.h b/src/mainview.h index 0cff4c81..636d37ac 100644 --- a/src/mainview.h +++ b/src/mainview.h @@ -135,6 +135,7 @@ public slots:      void detachTab(int index = -1);      void openClosedTabs();      void openClosedTab(); +    void switchToTab();      // WEB slot actions      void webReload(); diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index f5be73ee..d14f2254 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -398,6 +398,16 @@ void MainWindow::setupActions()      closedTabsMenu->setDelayed(false);      actionCollection()->addAction(QL1S("closed_tab_menu"), closedTabsMenu); +    // shortcuts for quickly switching to a tab +    for( int i = 1; i <= 9; i++ ) { +        a = new KAction(i18n("Switch to Tab %1", i), this); +        a->setShortcut(KShortcut( QString("Alt+%1").arg(i) )); +        a->setData( QVariant(i) ); +        actionCollection()->addAction(QL1S(("switch_tab_" + QString::number(i)).toAscii()), a); +        connect(a, SIGNAL(triggered(bool)), m_view, SLOT(switchToTab())); +    } + +      // ============================== Indexed Tab Actions ====================================      a = new KAction(KIcon("tab-close"), i18n("&Close Tab"), this);      actionCollection()->addAction(QL1S("close_tab"), a); | 
