Version: (using KDE KDE 3.3.92) Installed from: Gentoo Packages Compiler: gcc 3.3.4 OS: Linux There's no shortcut keys (or ability to add them) for back/forward in an Akregator viewing tab. Please add this.
Hmm, my local copy has now alt+left and alt+right to move back and forward, but I was unable to cope how to get the configurable. CVS is frozen so I won't commit this change yet.
Alt+Left/Right is already in use for navigation in the feed list, so we should find another shortcut for back/forward in the browser.
I noticed that. That's why I'd like it to be customizable (via the universal KDE "Configure Shortcuts"). I've got back/forward programmed into my mouse and the last thing I want it to do is to switch tabs whenever I hit back. In Konqueror, switching tabs is (by default) control-, and control-. I think it would be wise to have it the same in Akregator for the sake of standardization and to keep things ubiquitous for the user.
CVS commit by osterfeld: PageViewer: added Ctrl+Left/right for back/forward, and actions for cycling through tabs (Ctrl+,, Ctrl+.) FEATURE: 99467 M +4 -0 akregator_part.cpp 1.157 M +3 -1 akregator_part.rc 1.43 M +9 -0 akregator_view.cpp 1.231 M +3 -0 akregator_view.h 1.90 M +2 -2 pageviewer.cpp 1.38 M +13 -0 tabwidget.cpp 1.15 M +3 -0 tabwidget.h 1.10 --- kdepim/akregator/src/akregator_part.cpp #1.156:1.157 @@ -157,4 +157,8 @@ void Part::setupActions() new KAction(i18n("Pre&vious Unread Article"), "", Key_Minus, m_view, SLOT(slotPrevUnreadArticle()),actionCollection(), "go_prev_unread_article"); new KAction(i18n("Ne&xt Unread Article"), "", Key_Plus, m_view, SLOT(slotNextUnreadArticle()),actionCollection(), "go_next_unread_article"); + + new KAction(i18n("Select Next Tab"), "", "Ctrl+Period", m_view, SLOT(slotNextTab()),actionCollection(), "select_next_tab"); + new KAction(i18n("Select Previous Tab"), "", "Ctrl+Comma", m_view, SLOT(slotPreviousTab()),actionCollection(), "select_previous_tab"); + KToggleAction* tkf = new KToggleAction(i18n("&Keep Article"), "flag", "Ctrl+K", m_view, SLOT(slotArticleToggleKeepFlag()), actionCollection(), "article_toggle_keep"); tkf->setChecked(false); --- kdepim/akregator/src/akregator_part.rc #1.42:1.43 @@ -1,4 +1,4 @@ <!DOCTYPE kpartgui SYSTEM "kpartgui.dtd"> -<kpartgui name="akregator_part" version="47"> +<kpartgui name="akregator_part" version="48"> <MenuBar> <Menu name="file"> @@ -99,4 +99,6 @@ <Action name="article_open_background_tab"/> <Action name="article_open"/> +<Action name="select_previous_tab"/> +<Action name="select_next_tab"/> </Menu> --- kdepim/akregator/src/akregator_view.cpp #1.230:1.231 @@ -1029,4 +1029,13 @@ void View::slotNextFeed() m_tree->slotNextFeed(); } +void View::slotNextTab() +{ + m_tabs->slotNextTab(); +} + +void View::slotPreviousTab() +{ + m_tabs->slotPreviousTab(); +} void View::slotNextUnreadArticle() --- kdepim/akregator/src/akregator_view.h #1.89:1.90 @@ -263,4 +263,7 @@ namespace Akregator void slotNextFeed(); + void slotNextTab(); + void slotPreviousTab(); + void slotFeedsTreeUp(); void slotFeedsTreeDown(); --- kdepim/akregator/src/pageviewer.cpp #1.37:1.38 @@ -64,5 +64,5 @@ PageViewer::PageViewer(QWidget *parent, setXMLFile(locate("data", "akregator/pageviewer.rc"), true); - m_backAction = new KToolBarPopupAction(i18n("Back"), "back", 0, this, SLOT(slotBack()), actionCollection(), "pageviewer_back"); + m_backAction = new KToolBarPopupAction(i18n("Back"), "back", "Ctrl+Left", this, SLOT(slotBack()), actionCollection(), "pageviewer_back"); connect(m_backAction->popupMenu(), SIGNAL(aboutToShow()), @@ -72,5 +72,5 @@ PageViewer::PageViewer(QWidget *parent, - m_forwardAction = new KToolBarPopupAction(i18n("Forward"), "forward", 0, this, SLOT(slotForward()), actionCollection(), "pageviewer_forward"); + m_forwardAction = new KToolBarPopupAction(i18n("Forward"), "forward", "Ctrl+Right", this, SLOT(slotForward()), actionCollection(), "pageviewer_forward"); connect(m_forwardAction->popupMenu(), SIGNAL(aboutToShow()), --- kdepim/akregator/src/tabwidget.cpp #1.14:1.15 @@ -66,4 +66,17 @@ void TabWidget::slotSettingsChanged() } +void TabWidget::slotNextTab() +{ + setCurrentPage((currentPageIndex()+1) % count()); +} + +void TabWidget::slotPreviousTab() +{ + if (currentPageIndex() == 0) + setCurrentPage(count()-1); + else + setCurrentPage(currentPageIndex()-1); +} + void TabWidget::addFrame(Frame *f) { --- kdepim/akregator/src/tabwidget.h #1.9:1.10 @@ -52,4 +52,7 @@ class TabWidget:public KTabWidget void slotSettingsChanged(); + void slotNextTab(); + void slotPreviousTab(); + signals: