diff options
author | pbrw <borowski.pb1@gmail.com> | 2021-11-25 02:54:30 +0100 |
---|---|---|
committer | Andreas Kling <kling@serenityos.org> | 2021-11-25 08:49:31 +0100 |
commit | 2642abb77309c232b98b9176877454ca845810e2 (patch) | |
tree | 3f2fa3a44dffbc22b22dd4a9b61e2cb14e49a32e /Userland | |
parent | 79bc587d03f113310c41320e1951b152c6e493b4 (diff) | |
download | serenity-2642abb77309c232b98b9176877454ca845810e2.zip |
Eyes: Use TRY() a lot more :^)
Diffstat (limited to 'Userland')
-rw-r--r-- | Userland/Demos/Eyes/CMakeLists.txt | 2 | ||||
-rw-r--r-- | Userland/Demos/Eyes/main.cpp | 42 |
2 files changed, 16 insertions, 28 deletions
diff --git a/Userland/Demos/Eyes/CMakeLists.txt b/Userland/Demos/Eyes/CMakeLists.txt index 2431a7dcc6..a8f47092e8 100644 --- a/Userland/Demos/Eyes/CMakeLists.txt +++ b/Userland/Demos/Eyes/CMakeLists.txt @@ -9,4 +9,4 @@ set(SOURCES ) serenity_app(Eyes ICON app-eyes) -target_link_libraries(Eyes LibGUI LibGfx) +target_link_libraries(Eyes LibGUI LibGfx LibMain) diff --git a/Userland/Demos/Eyes/main.cpp b/Userland/Demos/Eyes/main.cpp index a79ae75357..f5e2cb734a 100644 --- a/Userland/Demos/Eyes/main.cpp +++ b/Userland/Demos/Eyes/main.cpp @@ -6,14 +6,16 @@ #include "EyesWidget.h" #include <LibCore/ArgsParser.h> +#include <LibCore/System.h> #include <LibGUI/Application.h> #include <LibGUI/Icon.h> #include <LibGUI/Menu.h> #include <LibGUI/Menubar.h> #include <LibGUI/Window.h> +#include <LibMain/Main.h> #include <unistd.h> -int main(int argc, char* argv[]) +ErrorOr<int> serenity_main(Main::Arguments arguments) { int num_eyes = 2; int max_in_row = 13; @@ -27,29 +29,15 @@ int main(int argc, char* argv[]) args_parser.add_option(max_in_row, "Maximum number of eyes in a row", "max-in-row", 'm', "number"); args_parser.add_option(grid_rows, "Number of rows in grid (incompatible with --number)", "grid-rows", 'r', "number"); args_parser.add_option(grid_columns, "Number of columns in grid (incompatible with --number)", "grid-cols", 'c', "number"); - args_parser.parse(argc, argv); + args_parser.parse(arguments); - if (pledge("stdio recvfd sendfd rpath unix cpath wpath thread", nullptr) < 0) { - perror("pledge"); - return 1; - } - - auto app = GUI::Application::construct(argc, argv); - - if (pledge("stdio recvfd sendfd rpath cpath wpath thread", nullptr) < 0) { - perror("pledge"); - return 1; - } + TRY(Core::System::pledge("stdio recvfd sendfd rpath unix cpath wpath thread", nullptr)); - if (unveil("/res", "r") < 0) { - perror("unveil"); - return 1; - } + auto app = TRY(GUI::Application::try_create(arguments)); - if (unveil(nullptr, nullptr) < 0) { - perror("unveil"); - return 1; - } + TRY(Core::System::pledge("stdio recvfd sendfd rpath cpath wpath thread", nullptr)); + TRY(Core::System::unveil("/res", "r")); + TRY(Core::System::unveil(nullptr, nullptr)); if ((grid_rows > 0) ^ (grid_columns > 0)) { warnln("Expected either both or none of 'grid-rows' and 'grid-cols' to be passed."); @@ -70,19 +58,19 @@ int main(int argc, char* argv[]) auto app_icon = GUI::Icon::default_icon("app-eyes"); - auto window = GUI::Window::construct(); + auto window = TRY(GUI::Window::try_create()); window->set_title("Eyes"); window->set_icon(app_icon.bitmap_for_size(16)); window->resize(75 * (full_rows > 0 ? max_in_row : extra_columns), 100 * (full_rows + (extra_columns > 0 ? 1 : 0))); window->set_has_alpha_channel(true); - window->set_main_widget<EyesWidget>(num_eyes, full_rows, extra_columns); + TRY(window->try_set_main_widget<EyesWidget>(num_eyes, full_rows, extra_columns)); - auto& file_menu = window->add_menu("&File"); - file_menu.add_action(GUI::CommonActions::make_quit_action([&](auto&) { app->quit(); })); + auto file_menu = TRY(window->try_add_menu("&File")); + TRY(file_menu->try_add_action(GUI::CommonActions::make_quit_action([&](auto&) { app->quit(); }))); - auto& help_menu = window->add_menu("&Help"); - help_menu.add_action(GUI::CommonActions::make_about_action("Eyes Demo", app_icon, window)); + auto help_menu = TRY(window->try_add_menu("&Help")); + TRY(help_menu->try_add_action(GUI::CommonActions::make_about_action("Eyes Demo", app_icon, window))); window->show(); |