From 1b776bffcf54b693d58389e91dbb93d531870ccf Mon Sep 17 00:00:00 2001 From: Sam Atkins Date: Thu, 2 Mar 2023 17:46:48 +0000 Subject: [PATCH] KeyboardSettings: Migrate to Directory::for_each_entry() --- .../KeyboardSettingsWidget.cpp | 23 +++++++++---------- 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/Userland/Applications/KeyboardSettings/KeyboardSettingsWidget.cpp b/Userland/Applications/KeyboardSettings/KeyboardSettingsWidget.cpp index f77cfa546d..842018a569 100644 --- a/Userland/Applications/KeyboardSettings/KeyboardSettingsWidget.cpp +++ b/Userland/Applications/KeyboardSettings/KeyboardSettingsWidget.cpp @@ -1,6 +1,6 @@ /* * Copyright (c) 2020, Hüseyin Aslıtürk - * Copyright (c) 2021, Sam Atkins + * Copyright (c) 2021-2023, Sam Atkins * Copyright (c) 2022, the SerenityOS developers. * * SPDX-License-Identifier: BSD-2-Clause @@ -13,7 +13,7 @@ #include #include #include -#include +#include #include #include #include @@ -59,19 +59,18 @@ private: set_icon(parent_window->icon()); - Core::DirIterator iterator("/res/keymaps/", Core::DirIterator::Flags::SkipDots); - if (iterator.has_error()) { - GUI::MessageBox::show(nullptr, DeprecatedString::formatted("Error on reading mapping file list: {}", iterator.error()), "Keyboard settings"sv, GUI::MessageBox::Type::Error); + auto iterator_result = Core::Directory::for_each_entry("/res/keymaps/"sv, Core::DirIterator::Flags::SkipDots, [&](auto const& entry, auto&) -> ErrorOr { + auto basename = entry.name.replace(".json"sv, ""sv, ReplaceMode::FirstOnly); + if (selected_keymaps.find(basename).is_end()) + m_character_map_files.append(basename); + return IterationDecision::Continue; + }); + + if (iterator_result.is_error()) { + GUI::MessageBox::show(nullptr, DeprecatedString::formatted("Error on reading mapping file list: {}", iterator_result.error()), "Keyboard settings"sv, GUI::MessageBox::Type::Error); GUI::Application::the()->quit(-1); } - while (iterator.has_next()) { - auto name = iterator.next_path(); - auto basename = name.replace(".json"sv, ""sv, ReplaceMode::FirstOnly); - if (!selected_keymaps.find(basename).is_end()) - continue; - m_character_map_files.append(basename); - } quick_sort(m_character_map_files); m_selected_keymap = m_character_map_files.first();