summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarcus Nilsson <brainbomb@gmail.com>2021-11-27 13:23:58 +0100
committerBrian Gianforcaro <b.gianfo@gmail.com>2021-11-28 10:10:35 -0800
commitc91eebfbaaf368824493fc149e31d9203cd3075a (patch)
treeb3eb51469c3e79bb555e83f6eadb55d59a3fc935
parentcbf93ee687d3e2f5d75823387b15b90a1d7911e7 (diff)
downloadserenity-c91eebfbaaf368824493fc149e31d9203cd3075a.zip
Magnifier: Use LibMain
Use the new serenity_main construct and TRY in Magnifier.
-rw-r--r--Userland/Applications/Magnifier/CMakeLists.txt2
-rw-r--r--Userland/Applications/Magnifier/main.cpp62
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 <LibCore/System.h>
#include <LibGUI/ActionGroup.h>
#include <LibGUI/Application.h>
#include <LibGUI/Icon.h>
#include <LibGUI/Menu.h>
#include <LibGUI/Menubar.h>
#include <LibGUI/Window.h>
-#include <unistd.h>
+#include <LibMain/Main.h>
-int main(int argc, char** argv)
+ErrorOr<int> 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<MagnifierWidget>();
+ auto magnifier = TRY(window->try_set_main_widget<MagnifierWidget>());
- 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<GUI::ActionGroup>();
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();