From 4f0d375c548bdacf8aa9d8944b14ac4f7b527697 Mon Sep 17 00:00:00 2001 From: Javier Steinaker Date: Sun, 28 Aug 2022 14:48:02 +1000 Subject: [PATCH] WebPositive: added shortcut to cycle through tabs like in every other browser MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Change-Id: I3cb543948929c20e64c1c8c245a568fb81637a3d Reviewed-on: https://review.haiku-os.org/c/haiku/+/5574 Tested-by: Commit checker robot Reviewed-by: Jérôme Duval Reviewed-by: Adrien Destugues --- src/apps/webpositive/BrowserWindow.cpp | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) 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,