/* * Copyright (c) 2022, Tim Flynn * * SPDX-License-Identifier: BSD-2-Clause */ #include "ClockSettingsWidget.h" #include "TimeZoneSettingsWidget.h" #include #include #include #include #include #include #include ErrorOr serenity_main(Main::Arguments arguments) { TRY(Core::System::pledge("stdio rpath recvfd sendfd unix proc exec")); auto app = TRY(GUI::Application::try_create(arguments)); Config::pledge_domain("Taskbar"); StringView selected_tab; Core::ArgsParser args_parser; args_parser.add_option(selected_tab, "Tab, one of 'clock' or 'time-zone'", "open-tab", 't', "tab"); args_parser.parse(arguments); TRY(Core::System::pledge("stdio rpath recvfd sendfd proc exec")); TRY(Core::System::unveil("/res", "r")); TRY(Core::System::unveil("/bin/timezone", "x")); TRY(Core::System::unveil("/etc/timezone", "r")); TRY(Core::System::unveil(nullptr, nullptr)); auto app_icon = GUI::Icon::default_icon("app-analog-clock"sv); // FIXME: Create a ClockSettings icon. auto window = TRY(GUI::SettingsWindow::create("Clock Settings", GUI::SettingsWindow::ShowDefaultsButton::Yes)); (void)TRY(window->add_tab("Clock"_short_string, "clock"sv)); auto timezonesettings_widget = TRY(TimeZoneSettingsWidget::create()); TRY(window->add_tab(timezonesettings_widget, TRY("Time Zone"_string), "time-zone"sv)); window->set_icon(app_icon.bitmap_for_size(16)); window->resize(540, 570); window->set_active_tab(selected_tab); window->show(); return app->exec(); }