mirror of
				https://github.com/ciphervance/supercell-wx.git
				synced 2025-10-31 04:40:06 +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, | ||||
|    Unknown | ||||
| }; | ||||
| typedef util::Iterator<MapProvider, MapProvider::Mapbox, MapProvider::MapTiler> | ||||
| typedef scwx::util:: | ||||
|    Iterator<MapProvider, MapProvider::Mapbox, MapProvider::MapTiler> | ||||
|       MapProviderIterator; | ||||
| 
 | ||||
| struct MapStyle | ||||
|  |  | |||
|  | @ -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) | ||||
|             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); | ||||
|                                    return value == mapProviderName; | ||||
|                                 }) != map::MapProviderIterator().end(); | ||||
|                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(); }); | ||||
|  |  | |||
|  | @ -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()) | ||||
|          { | ||||
|             if (boost::iequals(text, map::GetMapProviderName(mapProvider))) | ||||
|             { | ||||
|                // Return map provider label
 | ||||
|             return GetMapProviderName(*it); | ||||
|                return GetMapProviderName(mapProvider); | ||||
|             } | ||||
|          } | ||||
| 
 | ||||
|          // Map provider label not found, return unknown
 | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Dan Paulat
						Dan Paulat