mirror of
https://github.com/RGBCube/serenity
synced 2025-07-27 03:17:35 +00:00
Browser: Allow usage of vertical tabs
Add implementation of vertical tabs into the browser, with the new `Ctrl + ,` shortcut, or within the View Options
This commit is contained in:
parent
5b82bd719e
commit
df7fd39fcc
3 changed files with 22 additions and 0 deletions
|
@ -134,6 +134,15 @@ BrowserWindow::BrowserWindow(CookieJar& cookie_jar, URL url)
|
|||
m_window_actions.show_bookmarks_bar_action().set_checked(show_bookmarks_bar);
|
||||
Browser::BookmarksBarWidget::the().set_visible(show_bookmarks_bar);
|
||||
|
||||
m_window_actions.on_vertical_tabs = [this](auto& action) {
|
||||
m_tab_widget->set_tab_position(action.is_checked() ? GUI::TabWidget::TabPosition::Left : GUI::TabWidget::TabPosition::Top);
|
||||
Config::write_bool("Browser", "Preferences", "VerticalTabs", action.is_checked());
|
||||
};
|
||||
|
||||
bool vertical_tabs = Config::read_bool("Browser", "Preferences", "VerticalTabs", false);
|
||||
m_window_actions.vertical_tabs_action().set_checked(vertical_tabs);
|
||||
m_tab_widget->set_tab_position(vertical_tabs ? GUI::TabWidget::TabPosition::Left : GUI::TabWidget::TabPosition::Top);
|
||||
|
||||
build_menus();
|
||||
|
||||
create_new_tab(move(url), true);
|
||||
|
@ -157,6 +166,7 @@ void BrowserWindow::build_menus()
|
|||
|
||||
auto& view_menu = add_menu("&View");
|
||||
view_menu.add_action(WindowActions::the().show_bookmarks_bar_action());
|
||||
view_menu.add_action(WindowActions::the().vertical_tabs_action());
|
||||
view_menu.add_separator();
|
||||
view_menu.add_action(GUI::CommonActions::make_fullscreen_action(
|
||||
[this](auto&) {
|
||||
|
|
|
@ -81,6 +81,15 @@ WindowActions::WindowActions(GUI::Window& window)
|
|||
},
|
||||
&window);
|
||||
m_show_bookmarks_bar_action->set_status_tip("Show/hide the bookmarks bar");
|
||||
|
||||
m_vertical_tabs_action = GUI::Action::create_checkable(
|
||||
"&Vertical Tabs", { Mod_Ctrl, Key_Comma },
|
||||
[this](auto& action) {
|
||||
if (on_vertical_tabs)
|
||||
on_vertical_tabs(action);
|
||||
},
|
||||
&window);
|
||||
m_vertical_tabs_action->set_status_tip("Enable/Disable vertical tabs");
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -22,12 +22,14 @@ public:
|
|||
Vector<Function<void()>> on_tabs;
|
||||
Function<void()> on_about;
|
||||
Function<void(GUI::Action&)> on_show_bookmarks_bar;
|
||||
Function<void(GUI::Action&)> on_vertical_tabs;
|
||||
|
||||
GUI::Action& create_new_tab_action() { return *m_create_new_tab_action; }
|
||||
GUI::Action& next_tab_action() { return *m_next_tab_action; }
|
||||
GUI::Action& previous_tab_action() { return *m_previous_tab_action; }
|
||||
GUI::Action& about_action() { return *m_about_action; }
|
||||
GUI::Action& show_bookmarks_bar_action() { return *m_show_bookmarks_bar_action; }
|
||||
GUI::Action& vertical_tabs_action() { return *m_vertical_tabs_action; }
|
||||
|
||||
private:
|
||||
RefPtr<GUI::Action> m_create_new_tab_action;
|
||||
|
@ -36,6 +38,7 @@ private:
|
|||
NonnullRefPtrVector<GUI::Action> m_tab_actions;
|
||||
RefPtr<GUI::Action> m_about_action;
|
||||
RefPtr<GUI::Action> m_show_bookmarks_bar_action;
|
||||
RefPtr<GUI::Action> m_vertical_tabs_action;
|
||||
};
|
||||
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue