From 1c1864e45d1c3c7bdf23fa7552ee3785109f37ce Mon Sep 17 00:00:00 2001 From: Dan Paulat Date: Sun, 30 Apr 2023 18:38:48 -0500 Subject: [PATCH] GCC fixes for MapProvider iterator --- scwx-qt/source/scwx/qt/map/map_provider.hpp | 5 ++-- .../scwx/qt/settings/general_settings.cpp | 24 ++++++++++++------- scwx-qt/source/scwx/qt/ui/settings_dialog.cpp | 15 +++++------- 3 files changed, 24 insertions(+), 20 deletions(-) diff --git a/scwx-qt/source/scwx/qt/map/map_provider.hpp b/scwx-qt/source/scwx/qt/map/map_provider.hpp index 9f57c730..7e6bb491 100644 --- a/scwx-qt/source/scwx/qt/map/map_provider.hpp +++ b/scwx-qt/source/scwx/qt/map/map_provider.hpp @@ -19,8 +19,9 @@ enum class MapProvider MapTiler, Unknown }; -typedef util::Iterator - MapProviderIterator; +typedef scwx::util:: + Iterator + MapProviderIterator; struct MapStyle { diff --git a/scwx-qt/source/scwx/qt/settings/general_settings.cpp b/scwx-qt/source/scwx/qt/settings/general_settings.cpp index e2d01691..19c97f8a 100644 --- a/scwx-qt/source/scwx/qt/settings/general_settings.cpp +++ b/scwx-qt/source/scwx/qt/settings/general_settings.cpp @@ -41,15 +41,21 @@ public: mapProvider_.SetValidator( [](const std::string& value) { - return std::find_if(map::MapProviderIterator().begin(), - map::MapProviderIterator().end(), - [&value](map::MapProvider mapProvider) - { - std::string mapProviderName = - map::GetMapProviderName(mapProvider); - boost::to_lower(mapProviderName); - return value == mapProviderName; - }) != map::MapProviderIterator().end(); + for (map::MapProvider mapProvider : map::MapProviderIterator()) + { + // If the value is equal to a lower case map provider name + std::string mapProviderName = + map::GetMapProviderName(mapProvider); + boost::to_lower(mapProviderName); + if (value == mapProviderName) + { + // Regard as a match, valid + return true; + } + } + + // No match found, invalid + return false; }); mapboxApiKey_.SetValidator([](const std::string& value) { return !value.empty(); }); diff --git a/scwx-qt/source/scwx/qt/ui/settings_dialog.cpp b/scwx-qt/source/scwx/qt/ui/settings_dialog.cpp index 85aaa3d5..5793f6bb 100644 --- a/scwx-qt/source/scwx/qt/ui/settings_dialog.cpp +++ b/scwx-qt/source/scwx/qt/ui/settings_dialog.cpp @@ -329,16 +329,13 @@ void SettingsDialogImpl::SetupGeneralTab() mapProvider_.SetMapFromValueFunction( [](const std::string& text) -> std::string { - auto it = std::find_if( - map::MapProviderIterator().begin(), - map::MapProviderIterator().end(), - [&text](map::MapProvider mapProvider) - { return boost::iequals(text, GetMapProviderName(mapProvider)); }); - - if (it != map::MapProviderIterator().end()) + for (map::MapProvider mapProvider : map::MapProviderIterator()) { - // Return map provider label - return GetMapProviderName(*it); + if (boost::iequals(text, map::GetMapProviderName(mapProvider))) + { + // Return map provider label + return GetMapProviderName(mapProvider); + } } // Map provider label not found, return unknown