mirror of
https://github.com/RGBCube/serenity
synced 2025-07-27 05:07:45 +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);
|
m_window_actions.show_bookmarks_bar_action().set_checked(show_bookmarks_bar);
|
||||||
Browser::BookmarksBarWidget::the().set_visible(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();
|
build_menus();
|
||||||
|
|
||||||
create_new_tab(move(url), true);
|
create_new_tab(move(url), true);
|
||||||
|
@ -157,6 +166,7 @@ void BrowserWindow::build_menus()
|
||||||
|
|
||||||
auto& view_menu = add_menu("&View");
|
auto& view_menu = add_menu("&View");
|
||||||
view_menu.add_action(WindowActions::the().show_bookmarks_bar_action());
|
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_separator();
|
||||||
view_menu.add_action(GUI::CommonActions::make_fullscreen_action(
|
view_menu.add_action(GUI::CommonActions::make_fullscreen_action(
|
||||||
[this](auto&) {
|
[this](auto&) {
|
||||||
|
|
|
@ -81,6 +81,15 @@ WindowActions::WindowActions(GUI::Window& window)
|
||||||
},
|
},
|
||||||
&window);
|
&window);
|
||||||
m_show_bookmarks_bar_action->set_status_tip("Show/hide the bookmarks bar");
|
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;
|
Vector<Function<void()>> on_tabs;
|
||||||
Function<void()> on_about;
|
Function<void()> on_about;
|
||||||
Function<void(GUI::Action&)> on_show_bookmarks_bar;
|
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& create_new_tab_action() { return *m_create_new_tab_action; }
|
||||||
GUI::Action& next_tab_action() { return *m_next_tab_action; }
|
GUI::Action& next_tab_action() { return *m_next_tab_action; }
|
||||||
GUI::Action& previous_tab_action() { return *m_previous_tab_action; }
|
GUI::Action& previous_tab_action() { return *m_previous_tab_action; }
|
||||||
GUI::Action& about_action() { return *m_about_action; }
|
GUI::Action& about_action() { return *m_about_action; }
|
||||||
GUI::Action& show_bookmarks_bar_action() { return *m_show_bookmarks_bar_action; }
|
GUI::Action& show_bookmarks_bar_action() { return *m_show_bookmarks_bar_action; }
|
||||||
|
GUI::Action& vertical_tabs_action() { return *m_vertical_tabs_action; }
|
||||||
|
|
||||||
private:
|
private:
|
||||||
RefPtr<GUI::Action> m_create_new_tab_action;
|
RefPtr<GUI::Action> m_create_new_tab_action;
|
||||||
|
@ -36,6 +38,7 @@ private:
|
||||||
NonnullRefPtrVector<GUI::Action> m_tab_actions;
|
NonnullRefPtrVector<GUI::Action> m_tab_actions;
|
||||||
RefPtr<GUI::Action> m_about_action;
|
RefPtr<GUI::Action> m_about_action;
|
||||||
RefPtr<GUI::Action> m_show_bookmarks_bar_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