diff --git a/src/activities/settings/SettingsActivity.cpp b/src/activities/settings/SettingsActivity.cpp index 813b6f81..4e333b32 100644 --- a/src/activities/settings/SettingsActivity.cpp +++ b/src/activities/settings/SettingsActivity.cpp @@ -3,6 +3,7 @@ #include #include +#include #include #include "CalibreSettingsActivity.h" @@ -16,12 +17,11 @@ namespace { const std::vector& getSettings() { static std::vector filteredSettings = []() { + const auto& allSettings = getSettingsList(); std::vector filtered; - for (const auto& setting : getSettingsList()) { - if (!setting.hideFromDeviceUI) { - filtered.push_back(setting); - } - } + filtered.reserve(allSettings.size()); + std::copy_if(allSettings.begin(), allSettings.end(), std::back_inserter(filtered), + [](const SettingInfo& setting) { return !setting.hideFromDeviceUI; }); return filtered; }(); return filteredSettings;