1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 13:18:13 +00:00

LibGUI: Make CommonMenus::make_accessibility_menu() infallible

This commit is contained in:
Andreas Kling 2023-08-14 10:18:28 +02:00
parent 676ef0cc3d
commit 94cd272ac0
4 changed files with 24 additions and 24 deletions

View file

@ -170,7 +170,7 @@ ErrorOr<int> serenity_main(Main::Arguments arguments)
timeline_menu->add_action(previous_frame_action); timeline_menu->add_action(previous_frame_action);
timeline_menu->add_action(next_frame_action); timeline_menu->add_action(next_frame_action);
TRY(window->try_add_menu(TRY(GUI::CommonMenus::make_accessibility_menu(magnifier)))); TRY(window->try_add_menu(GUI::CommonMenus::make_accessibility_menu(magnifier)));
auto help_menu = TRY(window->try_add_menu("&Help"_string)); auto help_menu = TRY(window->try_add_menu("&Help"_string));
help_menu->add_action(GUI::CommonActions::make_command_palette_action(window)); help_menu->add_action(GUI::CommonActions::make_command_palette_action(window));

View file

@ -305,7 +305,7 @@ ErrorOr<void> MainWidget::initialize_menubar(GUI::Window& window)
GUI::Application::the()->quit(); GUI::Application::the()->quit();
})); }));
TRY(window.try_add_menu(TRY(GUI::CommonMenus::make_accessibility_menu(*m_preview_widget)))); TRY(window.try_add_menu(GUI::CommonMenus::make_accessibility_menu(*m_preview_widget)));
auto help_menu = TRY(window.try_add_menu("&Help"_string)); auto help_menu = TRY(window.try_add_menu("&Help"_string));
help_menu->add_action(GUI::CommonActions::make_command_palette_action(&window)); help_menu->add_action(GUI::CommonActions::make_command_palette_action(&window));

View file

@ -14,39 +14,39 @@ namespace GUI {
namespace CommonMenus { namespace CommonMenus {
ErrorOr<NonnullRefPtr<Menu>> make_accessibility_menu(ColorFilterer& filterer) NonnullRefPtr<Menu> make_accessibility_menu(ColorFilterer& filterer)
{ {
auto default_accessibility_action = TRY(Action::try_create_checkable("Unimpaired", { Mod_AltGr, Key_1 }, [&](auto&) { auto default_accessibility_action = Action::create_checkable("Unimpaired", { Mod_AltGr, Key_1 }, [&](auto&) {
filterer.set_color_filter(nullptr); filterer.set_color_filter(nullptr);
})); });
auto pratanopia_accessibility_action = TRY(Action::try_create_checkable("Protanopia", { Mod_AltGr, Key_2 }, [&](auto&) { auto pratanopia_accessibility_action = Action::create_checkable("Protanopia", { Mod_AltGr, Key_2 }, [&](auto&) {
filterer.set_color_filter(Gfx::ColorBlindnessFilter::create_protanopia()); filterer.set_color_filter(Gfx::ColorBlindnessFilter::create_protanopia());
})); });
auto pratanomaly_accessibility_action = TRY(Action::try_create_checkable("Protanomaly", { Mod_AltGr, Key_3 }, [&](auto&) { auto pratanomaly_accessibility_action = Action::create_checkable("Protanomaly", { Mod_AltGr, Key_3 }, [&](auto&) {
filterer.set_color_filter(Gfx::ColorBlindnessFilter::create_protanomaly()); filterer.set_color_filter(Gfx::ColorBlindnessFilter::create_protanomaly());
})); });
auto tritanopia_accessibility_action = TRY(Action::try_create_checkable("Tritanopia", { Mod_AltGr, Key_4 }, [&](auto&) { auto tritanopia_accessibility_action = Action::create_checkable("Tritanopia", { Mod_AltGr, Key_4 }, [&](auto&) {
filterer.set_color_filter(Gfx::ColorBlindnessFilter::create_tritanopia()); filterer.set_color_filter(Gfx::ColorBlindnessFilter::create_tritanopia());
})); });
auto tritanomaly_accessibility_action = TRY(Action::try_create_checkable("Tritanomaly", { Mod_AltGr, Key_5 }, [&](auto&) { auto tritanomaly_accessibility_action = Action::create_checkable("Tritanomaly", { Mod_AltGr, Key_5 }, [&](auto&) {
filterer.set_color_filter(Gfx::ColorBlindnessFilter::create_tritanomaly()); filterer.set_color_filter(Gfx::ColorBlindnessFilter::create_tritanomaly());
})); });
auto deuteranopia_accessibility_action = TRY(Action::try_create_checkable("Deuteranopia", { Mod_AltGr, Key_6 }, [&](auto&) { auto deuteranopia_accessibility_action = Action::create_checkable("Deuteranopia", { Mod_AltGr, Key_6 }, [&](auto&) {
filterer.set_color_filter(Gfx::ColorBlindnessFilter::create_deuteranopia()); filterer.set_color_filter(Gfx::ColorBlindnessFilter::create_deuteranopia());
})); });
auto deuteranomaly_accessibility_action = TRY(Action::try_create_checkable("Deuteranomaly", { Mod_AltGr, Key_7 }, [&](auto&) { auto deuteranomaly_accessibility_action = Action::create_checkable("Deuteranomaly", { Mod_AltGr, Key_7 }, [&](auto&) {
filterer.set_color_filter(Gfx::ColorBlindnessFilter::create_deuteranomaly()); filterer.set_color_filter(Gfx::ColorBlindnessFilter::create_deuteranomaly());
})); });
auto achromatopsia_accessibility_action = TRY(Action::try_create_checkable("Achromatopsia", { Mod_AltGr, Key_8 }, [&](auto&) { auto achromatopsia_accessibility_action = Action::create_checkable("Achromatopsia", { Mod_AltGr, Key_8 }, [&](auto&) {
filterer.set_color_filter(Gfx::ColorBlindnessFilter::create_achromatopsia()); filterer.set_color_filter(Gfx::ColorBlindnessFilter::create_achromatopsia());
})); });
auto achromatomaly_accessibility_action = TRY(Action::try_create_checkable("Achromatomaly", { Mod_AltGr, Key_9 }, [&](auto&) { auto achromatomaly_accessibility_action = Action::create_checkable("Achromatomaly", { Mod_AltGr, Key_9 }, [&](auto&) {
filterer.set_color_filter(Gfx::ColorBlindnessFilter::create_achromatomaly()); filterer.set_color_filter(Gfx::ColorBlindnessFilter::create_achromatomaly());
})); });
default_accessibility_action->set_checked(true); default_accessibility_action->set_checked(true);
auto group = TRY(try_make<ActionGroup>()); auto group = make<ActionGroup>();
group->set_exclusive(true); group->set_exclusive(true);
group->add_action(*default_accessibility_action); group->add_action(*default_accessibility_action);
group->add_action(*pratanopia_accessibility_action); group->add_action(*pratanopia_accessibility_action);
@ -59,7 +59,7 @@ ErrorOr<NonnullRefPtr<Menu>> make_accessibility_menu(ColorFilterer& filterer)
group->add_action(*achromatomaly_accessibility_action); group->add_action(*achromatomaly_accessibility_action);
(void)group.leak_ptr(); (void)group.leak_ptr();
auto menu = TRY(Menu::try_create("&Accessibility"_string)); auto menu = Menu::construct("&Accessibility"_string);
menu->add_action(default_accessibility_action); menu->add_action(default_accessibility_action);
menu->add_action(pratanopia_accessibility_action); menu->add_action(pratanopia_accessibility_action);
menu->add_action(pratanomaly_accessibility_action); menu->add_action(pratanomaly_accessibility_action);

View file

@ -19,7 +19,7 @@ namespace GUI {
namespace CommonMenus { namespace CommonMenus {
ErrorOr<NonnullRefPtr<Menu>> make_accessibility_menu(GUI::ColorFilterer&); [[nodiscard]] NonnullRefPtr<Menu> make_accessibility_menu(GUI::ColorFilterer&);
}; };