mirror of
				https://github.com/ciphervance/supercell-wx.git
				synced 2025-10-31 03:50:05 +00:00 
			
		
		
		
	Refactor color validator from settings to utility source
This commit is contained in:
		
							parent
							
								
									8fc392681a
								
							
						
					
					
						commit
						c8dc8ed630
					
				
					 3 changed files with 18 additions and 11 deletions
				
			
		|  | @ -5,7 +5,6 @@ | ||||||
| #include <boost/algorithm/string/case_conv.hpp> | #include <boost/algorithm/string/case_conv.hpp> | ||||||
| #include <boost/gil.hpp> | #include <boost/gil.hpp> | ||||||
| #include <fmt/format.h> | #include <fmt/format.h> | ||||||
| #include <re2/re2.h> |  | ||||||
| 
 | 
 | ||||||
| namespace scwx | namespace scwx | ||||||
| { | { | ||||||
|  | @ -116,8 +115,6 @@ public: | ||||||
|    void InitializeLegacyAlerts(); |    void InitializeLegacyAlerts(); | ||||||
|    void InitializeAlerts(); |    void InitializeAlerts(); | ||||||
| 
 | 
 | ||||||
|    static bool ValidateColor(const std::string& value); |  | ||||||
| 
 |  | ||||||
|    PaletteSettings* self_; |    PaletteSettings* self_; | ||||||
| 
 | 
 | ||||||
|    std::unordered_map<std::string, SettingsVariable<std::string>> palette_ {}; |    std::unordered_map<std::string, SettingsVariable<std::string>> palette_ {}; | ||||||
|  | @ -132,12 +129,6 @@ public: | ||||||
|    std::vector<SettingsCategory> alertSettings_ {}; |    std::vector<SettingsCategory> alertSettings_ {}; | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
| bool PaletteSettings::Impl::ValidateColor(const std::string& value) |  | ||||||
| { |  | ||||||
|    static constexpr LazyRE2 re = {"#[0-9A-Fa-f]{8}"}; |  | ||||||
|    return RE2::FullMatch(value, *re); |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| PaletteSettings::PaletteSettings() : | PaletteSettings::PaletteSettings() : | ||||||
|     SettingsCategory("palette"), p(std::make_unique<Impl>(this)) |     SettingsCategory("palette"), p(std::make_unique<Impl>(this)) | ||||||
| { | { | ||||||
|  | @ -196,8 +187,8 @@ void PaletteSettings::Impl::InitializeLegacyAlerts() | ||||||
|       inactiveVariable.SetDefault( |       inactiveVariable.SetDefault( | ||||||
|          util::color::ToArgbString(alert.second.second)); |          util::color::ToArgbString(alert.second.second)); | ||||||
| 
 | 
 | ||||||
|       activeVariable.SetValidator(&ValidateColor); |       activeVariable.SetValidator(&util::color::ValidateArgbString); | ||||||
|       inactiveVariable.SetValidator(&ValidateColor); |       inactiveVariable.SetValidator(&util::color::ValidateArgbString); | ||||||
| 
 | 
 | ||||||
|       variables_.push_back(&activeVariable); |       variables_.push_back(&activeVariable); | ||||||
|       variables_.push_back(&inactiveVariable); |       variables_.push_back(&inactiveVariable); | ||||||
|  |  | ||||||
|  | @ -1,6 +1,7 @@ | ||||||
| #include <scwx/qt/util/color.hpp> | #include <scwx/qt/util/color.hpp> | ||||||
| 
 | 
 | ||||||
| #include <fmt/format.h> | #include <fmt/format.h> | ||||||
|  | #include <re2/re2.h> | ||||||
| #include <QColor> | #include <QColor> | ||||||
| 
 | 
 | ||||||
| namespace scwx | namespace scwx | ||||||
|  | @ -38,6 +39,12 @@ boost::gil::rgba32f_pixel_t ToRgba32fPixelT(const std::string& argbString) | ||||||
|                                        rgba8Pixel[3] / 255.0f}; |                                        rgba8Pixel[3] / 255.0f}; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | bool ValidateArgbString(const std::string& argbString) | ||||||
|  | { | ||||||
|  |    static constexpr LazyRE2 re = {"#[0-9A-Fa-f]{8}"}; | ||||||
|  |    return RE2::FullMatch(argbString, *re); | ||||||
|  | } | ||||||
|  | 
 | ||||||
| } // namespace color
 | } // namespace color
 | ||||||
| } // namespace util
 | } // namespace util
 | ||||||
| } // namespace qt
 | } // namespace qt
 | ||||||
|  |  | ||||||
|  | @ -39,6 +39,15 @@ boost::gil::rgba8_pixel_t ToRgba8PixelT(const std::string& argbString); | ||||||
|  */ |  */ | ||||||
| boost::gil::rgba32f_pixel_t ToRgba32fPixelT(const std::string& argbString); | boost::gil::rgba32f_pixel_t ToRgba32fPixelT(const std::string& argbString); | ||||||
| 
 | 
 | ||||||
|  | /**
 | ||||||
|  |  * Validates an ARGB string used by Qt libraries. | ||||||
|  |  * | ||||||
|  |  * @param argbString | ||||||
|  |  * | ||||||
|  |  * @return Validity of ARGB string | ||||||
|  |  */ | ||||||
|  | bool ValidateArgbString(const std::string& argbString); | ||||||
|  | 
 | ||||||
| } // namespace color
 | } // namespace color
 | ||||||
| } // namespace util
 | } // namespace util
 | ||||||
| } // namespace qt
 | } // namespace qt
 | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Dan Paulat
						Dan Paulat