mirror of
				https://github.com/ciphervance/supercell-wx.git
				synced 2025-10-31 13:10:04 +00:00 
			
		
		
		
	GCC fixes for MapProvider iterator
This commit is contained in:
		
							parent
							
								
									98ab8904be
								
							
						
					
					
						commit
						1c1864e45d
					
				
					 3 changed files with 24 additions and 20 deletions
				
			
		|  | @ -19,7 +19,8 @@ enum class MapProvider | ||||||
|    MapTiler, |    MapTiler, | ||||||
|    Unknown |    Unknown | ||||||
| }; | }; | ||||||
| typedef util::Iterator<MapProvider, MapProvider::Mapbox, MapProvider::MapTiler> | typedef scwx::util:: | ||||||
|  |    Iterator<MapProvider, MapProvider::Mapbox, MapProvider::MapTiler> | ||||||
|       MapProviderIterator; |       MapProviderIterator; | ||||||
| 
 | 
 | ||||||
| struct MapStyle | struct MapStyle | ||||||
|  |  | ||||||
|  | @ -41,15 +41,21 @@ public: | ||||||
|       mapProvider_.SetValidator( |       mapProvider_.SetValidator( | ||||||
|          [](const std::string& value) |          [](const std::string& value) | ||||||
|          { |          { | ||||||
|             return std::find_if(map::MapProviderIterator().begin(), |             for (map::MapProvider mapProvider : map::MapProviderIterator()) | ||||||
|                                 map::MapProviderIterator().end(), |  | ||||||
|                                 [&value](map::MapProvider mapProvider) |  | ||||||
|             { |             { | ||||||
|  |                // If the value is equal to a lower case map provider name
 | ||||||
|                std::string mapProviderName = |                std::string mapProviderName = | ||||||
|                   map::GetMapProviderName(mapProvider); |                   map::GetMapProviderName(mapProvider); | ||||||
|                boost::to_lower(mapProviderName); |                boost::to_lower(mapProviderName); | ||||||
|                                    return value == mapProviderName; |                if (value == mapProviderName) | ||||||
|                                 }) != map::MapProviderIterator().end(); |                { | ||||||
|  |                   // Regard as a match, valid
 | ||||||
|  |                   return true; | ||||||
|  |                } | ||||||
|  |             } | ||||||
|  | 
 | ||||||
|  |             // No match found, invalid
 | ||||||
|  |             return false; | ||||||
|          }); |          }); | ||||||
|       mapboxApiKey_.SetValidator([](const std::string& value) |       mapboxApiKey_.SetValidator([](const std::string& value) | ||||||
|                                  { return !value.empty(); }); |                                  { return !value.empty(); }); | ||||||
|  |  | ||||||
|  | @ -329,16 +329,13 @@ void SettingsDialogImpl::SetupGeneralTab() | ||||||
|    mapProvider_.SetMapFromValueFunction( |    mapProvider_.SetMapFromValueFunction( | ||||||
|       [](const std::string& text) -> std::string |       [](const std::string& text) -> std::string | ||||||
|       { |       { | ||||||
|          auto it = std::find_if( |          for (map::MapProvider mapProvider : map::MapProviderIterator()) | ||||||
|             map::MapProviderIterator().begin(), |          { | ||||||
|             map::MapProviderIterator().end(), |             if (boost::iequals(text, map::GetMapProviderName(mapProvider))) | ||||||
|             [&text](map::MapProvider mapProvider) |  | ||||||
|             { return boost::iequals(text, GetMapProviderName(mapProvider)); }); |  | ||||||
| 
 |  | ||||||
|          if (it != map::MapProviderIterator().end()) |  | ||||||
|             { |             { | ||||||
|                // Return map provider label
 |                // Return map provider label
 | ||||||
|             return GetMapProviderName(*it); |                return GetMapProviderName(mapProvider); | ||||||
|  |             } | ||||||
|          } |          } | ||||||
| 
 | 
 | ||||||
|          // Map provider label not found, return unknown
 |          // Map provider label not found, return unknown
 | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Dan Paulat
						Dan Paulat