From 929f31f5648de95d0f2043688127059f2ab0fd3a Mon Sep 17 00:00:00 2001 From: thankyouverycool <66646555+thankyouverycool@users.noreply.github.com> Date: Fri, 23 Sep 2022 09:57:56 -0400 Subject: Welcome: Add/remove SystemServer group entry to toggle startup Previously Welcome relied on a bogus executable key value to disable startup. This always printed an error on login and littered the config file with a useless entry. Adding/removing the group as needed seems a bit nicer. --- Userland/Applications/Welcome/WelcomeWidget.cpp | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'Userland/Applications') diff --git a/Userland/Applications/Welcome/WelcomeWidget.cpp b/Userland/Applications/Welcome/WelcomeWidget.cpp index 5e327e944a..fed531ccb3 100644 --- a/Userland/Applications/Welcome/WelcomeWidget.cpp +++ b/Userland/Applications/Welcome/WelcomeWidget.cpp @@ -66,11 +66,14 @@ WelcomeWidget::WelcomeWidget() GUI::Application::the()->quit(); }; - auto exec_path = Config::read_string("SystemServer"sv, "Welcome"sv, "Executable"sv, {}); - m_startup_checkbox = *find_descendant_of_type_named("startup_checkbox"); - m_startup_checkbox->set_checked(!exec_path.is_empty()); + auto welcome = Config::list_groups("SystemServer"sv).first_matching([](auto& group) { return group == "Welcome"sv; }); + m_startup_checkbox = find_descendant_of_type_named("startup_checkbox"); + m_startup_checkbox->set_checked(welcome.has_value()); m_startup_checkbox->on_checked = [](bool is_checked) { - Config::write_string("SystemServer"sv, "Welcome"sv, "Executable"sv, is_checked ? "/bin/Welcome"sv : ""sv); + if (is_checked) + Config::add_group("SystemServer"sv, "Welcome"sv); + else + Config::remove_group("SystemServer"sv, "Welcome"sv); }; open_and_parse_readme_file(); -- cgit v1.2.3