Bug 99467 - No shortcut key for back/forward
Summary: No shortcut key for back/forward
Status: RESOLVED FIXED
Alias: None
Product: akregator
Classification: Applications
Component: general (show other bugs)
Version: unspecified
Platform: Gentoo Packages Linux
: NOR wishlist
Target Milestone: ---
Assignee: kdepim bugs
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-02-15 18:44 UTC by Riskable
Modified: 2005-03-20 18:02 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Riskable 2005-02-15 18:44:09 UTC
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.
Comment 1 Teemu Rytilahti 2005-02-24 21:35:33 UTC
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.
Comment 2 Frank Osterfeld 2005-02-25 15:17:25 UTC
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.
Comment 3 Riskable 2005-02-25 16:54:34 UTC
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.
Comment 4 Frank Osterfeld 2005-03-20 18:02:51 UTC
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: