summaryrefslogtreecommitdiff
path: root/Userland/Applications/Welcome/WelcomeWidget.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Userland/Applications/Welcome/WelcomeWidget.cpp')
-rw-r--r--Userland/Applications/Welcome/WelcomeWidget.cpp11
1 files changed, 7 insertions, 4 deletions
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<GUI::CheckBox>("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<GUI::CheckBox>("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();