From c91eebfbaaf368824493fc149e31d9203cd3075a Mon Sep 17 00:00:00 2001 From: Marcus Nilsson Date: Sat, 27 Nov 2021 13:23:58 +0100 Subject: [PATCH] Magnifier: Use LibMain Use the new serenity_main construct and TRY in Magnifier. --- .../Applications/Magnifier/CMakeLists.txt | 2 +- Userland/Applications/Magnifier/main.cpp | 62 +++++++------------ 2 files changed, 25 insertions(+), 39 deletions(-) diff --git a/Userland/Applications/Magnifier/CMakeLists.txt b/Userland/Applications/Magnifier/CMakeLists.txt index 0118a39ab8..b3ed8910db 100644 --- a/Userland/Applications/Magnifier/CMakeLists.txt +++ b/Userland/Applications/Magnifier/CMakeLists.txt @@ -11,4 +11,4 @@ set(SOURCES ) serenity_app(Magnifier ICON app-magnifier) -target_link_libraries(Magnifier LibGUI) +target_link_libraries(Magnifier LibGUI LibMain) diff --git a/Userland/Applications/Magnifier/main.cpp b/Userland/Applications/Magnifier/main.cpp index 1d7fc7d31c..9e5b7accf8 100644 --- a/Userland/Applications/Magnifier/main.cpp +++ b/Userland/Applications/Magnifier/main.cpp @@ -5,37 +5,23 @@ */ #include "MagnifierWidget.h" +#include #include #include #include #include #include #include -#include +#include -int main(int argc, char** argv) +ErrorOr serenity_main(Main::Arguments arguments) { - if (pledge("stdio cpath rpath recvfd sendfd unix", nullptr) < 0) { - perror("pledge"); - return 1; - } + TRY(Core::System::pledge("stdio cpath rpath recvfd sendfd unix", nullptr)); + auto app = GUI::Application::construct(arguments); - auto app = GUI::Application::construct(argc, argv); - - if (pledge("stdio cpath rpath recvfd sendfd", nullptr) < 0) { - perror("pledge"); - return 1; - } - - if (unveil("/res", "r") < 0) { - perror("unveil"); - return 1; - } - - if (unveil(nullptr, nullptr) < 0) { - perror("unveil"); - return 1; - } + TRY(Core::System::pledge("stdio cpath rpath recvfd sendfd", nullptr)); + TRY(Core::System::unveil("/res", "r")); + TRY(Core::System::unveil(nullptr, nullptr)); auto app_icon = GUI::Icon::default_icon("app-magnifier"); @@ -46,33 +32,33 @@ int main(int argc, char** argv) window->resize(window_dimensions, window_dimensions); window->set_minimizable(false); window->set_icon(app_icon.bitmap_for_size(16)); - auto& magnifier = window->set_main_widget(); + auto magnifier = TRY(window->try_set_main_widget()); - auto& file_menu = window->add_menu("&File"); - file_menu.add_action(GUI::CommonActions::make_quit_action([&](auto&) { + auto file_menu = TRY(window->try_add_menu("&File")); + TRY(file_menu->try_add_action(GUI::CommonActions::make_quit_action([&](auto&) { app->quit(); - })); + }))); auto size_action_group = make(); auto two_x_action = GUI::Action::create_checkable( "&2x", { Key_2 }, [&](auto&) { - magnifier.set_scale_factor(2); + magnifier->set_scale_factor(2); }); auto four_x_action = GUI::Action::create_checkable( "&4x", { Key_4 }, [&](auto&) { - magnifier.set_scale_factor(4); + magnifier->set_scale_factor(4); }); auto eight_x_action = GUI::Action::create_checkable( "&8x", { Key_8 }, [&](auto&) { - magnifier.set_scale_factor(8); + magnifier->set_scale_factor(8); }); auto pause_action = GUI::Action::create_checkable( "&Pause Capture", { Key_Space }, [&](auto& action) { - magnifier.pause_capture(action.is_checked()); + magnifier->pause_capture(action.is_checked()); }); size_action_group->add_action(two_x_action); @@ -80,17 +66,17 @@ int main(int argc, char** argv) size_action_group->add_action(eight_x_action); size_action_group->set_exclusive(true); - auto& view_menu = window->add_menu("&View"); - view_menu.add_action(two_x_action); - view_menu.add_action(four_x_action); - view_menu.add_action(eight_x_action); + auto view_menu = TRY(window->try_add_menu("&View")); + TRY(view_menu->try_add_action(two_x_action)); + TRY(view_menu->try_add_action(four_x_action)); + TRY(view_menu->try_add_action(eight_x_action)); two_x_action->set_checked(true); - view_menu.add_separator(); - view_menu.add_action(pause_action); + TRY(view_menu->try_add_separator()); + TRY(view_menu->try_add_action(pause_action)); - auto& help_menu = window->add_menu("&Help"); - help_menu.add_action(GUI::CommonActions::make_about_action("Magnifier", app_icon, window)); + auto help_menu = TRY(window->try_add_menu("&Help")); + help_menu->add_action(GUI::CommonActions::make_about_action("Magnifier", app_icon, window)); window->show();