mirror of
				https://github.com/ciphervance/supercell-wx.git
				synced 2025-11-04 14:30:07 +00:00 
			
		
		
		
	Add AlertAction type
This commit is contained in:
		
							parent
							
								
									9019aa5e33
								
							
						
					
					
						commit
						411a949be9
					
				
					 3 changed files with 74 additions and 2 deletions
				
			
		| 
						 | 
					@ -129,12 +129,14 @@ set(SRC_SETTINGS source/scwx/qt/settings/general_settings.cpp
 | 
				
			||||||
                 source/scwx/qt/settings/settings_interface_base.cpp
 | 
					                 source/scwx/qt/settings/settings_interface_base.cpp
 | 
				
			||||||
                 source/scwx/qt/settings/settings_variable.cpp
 | 
					                 source/scwx/qt/settings/settings_variable.cpp
 | 
				
			||||||
                 source/scwx/qt/settings/settings_variable_base.cpp)
 | 
					                 source/scwx/qt/settings/settings_variable_base.cpp)
 | 
				
			||||||
set(HDR_TYPES source/scwx/qt/types/font_types.hpp
 | 
					set(HDR_TYPES source/scwx/qt/types/alert_types.hpp
 | 
				
			||||||
 | 
					              source/scwx/qt/types/font_types.hpp
 | 
				
			||||||
              source/scwx/qt/types/github_types.hpp
 | 
					              source/scwx/qt/types/github_types.hpp
 | 
				
			||||||
              source/scwx/qt/types/qt_types.hpp
 | 
					              source/scwx/qt/types/qt_types.hpp
 | 
				
			||||||
              source/scwx/qt/types/radar_product_record.hpp
 | 
					              source/scwx/qt/types/radar_product_record.hpp
 | 
				
			||||||
              source/scwx/qt/types/text_event_key.hpp)
 | 
					              source/scwx/qt/types/text_event_key.hpp)
 | 
				
			||||||
set(SRC_TYPES source/scwx/qt/types/github_types.cpp
 | 
					set(SRC_TYPES source/scwx/qt/types/alert_types.cpp
 | 
				
			||||||
 | 
					              source/scwx/qt/types/github_types.cpp
 | 
				
			||||||
              source/scwx/qt/types/radar_product_record.cpp
 | 
					              source/scwx/qt/types/radar_product_record.cpp
 | 
				
			||||||
              source/scwx/qt/types/text_event_key.cpp)
 | 
					              source/scwx/qt/types/text_event_key.cpp)
 | 
				
			||||||
set(HDR_UI source/scwx/qt/ui/about_dialog.hpp
 | 
					set(HDR_UI source/scwx/qt/ui/about_dialog.hpp
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										42
									
								
								scwx-qt/source/scwx/qt/types/alert_types.cpp
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										42
									
								
								scwx-qt/source/scwx/qt/types/alert_types.cpp
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,42 @@
 | 
				
			||||||
 | 
					#include <scwx/qt/types/alert_types.hpp>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#include <boost/algorithm/string.hpp>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					namespace scwx
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					namespace qt
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					namespace types
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					static const std::unordered_map<AlertAction, std::string> alertActionName_ {
 | 
				
			||||||
 | 
					   {AlertAction::Go, "Go"},
 | 
				
			||||||
 | 
					   {AlertAction::View, "View"},
 | 
				
			||||||
 | 
					   {AlertAction::Unknown, "?"}};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					AlertAction GetAlertAction(const std::string& name)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					   auto result =
 | 
				
			||||||
 | 
					      std::find_if(alertActionName_.cbegin(),
 | 
				
			||||||
 | 
					                   alertActionName_.cend(),
 | 
				
			||||||
 | 
					                   [&](const std::pair<AlertAction, std::string>& pair) -> bool
 | 
				
			||||||
 | 
					                   { return boost::iequals(pair.second, name); });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   if (result != alertActionName_.cend())
 | 
				
			||||||
 | 
					   {
 | 
				
			||||||
 | 
					      return result->first;
 | 
				
			||||||
 | 
					   }
 | 
				
			||||||
 | 
					   else
 | 
				
			||||||
 | 
					   {
 | 
				
			||||||
 | 
					      return AlertAction::Unknown;
 | 
				
			||||||
 | 
					   }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					std::string GetAlertActionName(AlertAction alertAction)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					   return alertActionName_.at(alertAction);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					} // namespace types
 | 
				
			||||||
 | 
					} // namespace qt
 | 
				
			||||||
 | 
					} // namespace scwx
 | 
				
			||||||
							
								
								
									
										28
									
								
								scwx-qt/source/scwx/qt/types/alert_types.hpp
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										28
									
								
								scwx-qt/source/scwx/qt/types/alert_types.hpp
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,28 @@
 | 
				
			||||||
 | 
					#pragma once
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#include <scwx/util/iterator.hpp>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#include <string>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					namespace scwx
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					namespace qt
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					namespace types
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					enum class AlertAction
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					   Go,
 | 
				
			||||||
 | 
					   View,
 | 
				
			||||||
 | 
					   Unknown
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					typedef scwx::util::Iterator<AlertAction, AlertAction::Go, AlertAction::View>
 | 
				
			||||||
 | 
					   AlertActionIterator;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					AlertAction GetAlertAction(const std::string& name);
 | 
				
			||||||
 | 
					std::string GetAlertActionName(AlertAction alertAction);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					} // namespace types
 | 
				
			||||||
 | 
					} // namespace qt
 | 
				
			||||||
 | 
					} // namespace scwx
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue