mirror of
https://github.com/RGBCube/serenity
synced 2025-07-26 05:17:34 +00:00
Ladybird/BrowserWindow: Add UI for switching preferred CSS color scheme
This commit is contained in:
parent
98bf0107ce
commit
97964bc710
4 changed files with 76 additions and 0 deletions
|
@ -12,6 +12,7 @@
|
|||
#include "WebView.h"
|
||||
#include <AK/TypeCasts.h>
|
||||
#include <QAction>
|
||||
#include <QActionGroup>
|
||||
#include <QDialog>
|
||||
#include <QPlainTextEdit>
|
||||
|
||||
|
@ -59,6 +60,32 @@ BrowserWindow::BrowserWindow()
|
|||
view_menu->addAction(open_previous_tab_action);
|
||||
QObject::connect(open_previous_tab_action, &QAction::triggered, this, &BrowserWindow::open_previous_tab);
|
||||
|
||||
view_menu->addSeparator();
|
||||
|
||||
auto* color_scheme_menu = view_menu->addMenu("&Color Scheme");
|
||||
|
||||
auto* group = new QActionGroup(this);
|
||||
|
||||
auto* auto_color_scheme = new QAction("&Auto");
|
||||
auto_color_scheme->setCheckable(true);
|
||||
group->addAction(auto_color_scheme);
|
||||
color_scheme_menu->addAction(auto_color_scheme);
|
||||
QObject::connect(auto_color_scheme, &QAction::triggered, this, &BrowserWindow::enable_auto_color_scheme);
|
||||
|
||||
auto* light_color_scheme = new QAction("&Light");
|
||||
light_color_scheme->setCheckable(true);
|
||||
group->addAction(light_color_scheme);
|
||||
color_scheme_menu->addAction(light_color_scheme);
|
||||
QObject::connect(light_color_scheme, &QAction::triggered, this, &BrowserWindow::enable_light_color_scheme);
|
||||
|
||||
auto* dark_color_scheme = new QAction("&Dark");
|
||||
dark_color_scheme->setCheckable(true);
|
||||
group->addAction(dark_color_scheme);
|
||||
color_scheme_menu->addAction(dark_color_scheme);
|
||||
QObject::connect(dark_color_scheme, &QAction::triggered, this, &BrowserWindow::enable_dark_color_scheme);
|
||||
|
||||
auto_color_scheme->setChecked(true);
|
||||
|
||||
auto* inspect_menu = menuBar()->addMenu("&Inspect");
|
||||
|
||||
auto* view_source_action = new QAction("View &Source");
|
||||
|
@ -294,3 +321,24 @@ void BrowserWindow::open_previous_tab()
|
|||
next_index = m_tabs_container->count() - 1;
|
||||
m_tabs_container->setCurrentIndex(next_index);
|
||||
}
|
||||
|
||||
void BrowserWindow::enable_auto_color_scheme()
|
||||
{
|
||||
for (auto& tab : m_tabs) {
|
||||
tab.view().set_color_scheme(ColorScheme::Auto);
|
||||
}
|
||||
}
|
||||
|
||||
void BrowserWindow::enable_light_color_scheme()
|
||||
{
|
||||
for (auto& tab : m_tabs) {
|
||||
tab.view().set_color_scheme(ColorScheme::Light);
|
||||
}
|
||||
}
|
||||
|
||||
void BrowserWindow::enable_dark_color_scheme()
|
||||
{
|
||||
for (auto& tab : m_tabs) {
|
||||
tab.view().set_color_scheme(ColorScheme::Dark);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue