diff --git a/src/apps/webpositive/BrowserWindow.cpp b/src/apps/webpositive/BrowserWindow.cpp index edb646aa9c..7e372c3242 100644 --- a/src/apps/webpositive/BrowserWindow.cpp +++ b/src/apps/webpositive/BrowserWindow.cpp @@ -129,6 +129,7 @@ enum { FIND_TEXT_CHANGED = 'ftxt', SELECT_TAB = 'sltb', + CYCLE_TABS = 'ctab', }; @@ -679,7 +680,10 @@ BrowserWindow::BrowserWindow(BRect frame, SettingsMessage* appSettings, snprintf(numStr, sizeof(numStr), "%d", (int) i); AddShortcut(numStr[0], B_COMMAND_KEY, selectTab); } - + + // Add shortcut to cycle through tabs like in every other web browser + AddShortcut(B_TAB, B_COMMAND_KEY, new BMessage(CYCLE_TABS)); + BKeymap keymap; keymap.SetToCurrent(); BObjectList unmodified(3, true); @@ -1120,6 +1124,15 @@ BrowserWindow::MessageReceived(BMessage* message) break; } + case CYCLE_TABS: + { + int32 index = fTabManager->SelectedTabIndex() + 1; + if (index >= fTabManager->CountTabs()) + index = 0; + fTabManager->SelectTab(index); + break; + } + case TAB_CHANGED: { // This message may be received also when the last tab closed,