mirror of
				https://github.com/saitohirga/WSJT-X.git
				synced 2025-11-04 05:50:31 -05:00 
			
		
		
		
	
		
			
				
	
	
		
			34 lines
		
	
	
		
			847 B
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			34 lines
		
	
	
		
			847 B
		
	
	
	
		
			C++
		
	
	
	
	
	
#include "RestrictedSpinBox.hpp"
 | 
						|
 | 
						|
#include <algorithm>
 | 
						|
#include <utility>
 | 
						|
 | 
						|
#include <QString>
 | 
						|
 | 
						|
QValidator::State RestrictedSpinBox::validate (QString& input, int& pos) const
 | 
						|
{
 | 
						|
  // start by doing the standard QSpinBox validation
 | 
						|
  auto valid = HintedSpinBox::validate (input, pos);
 | 
						|
  // extra validation
 | 
						|
  if (QValidator::Acceptable == valid
 | 
						|
      && values ().end () == std::find (values ().begin (), values ().end (), valueFromText (input)))
 | 
						|
    {
 | 
						|
      valid = QValidator::Intermediate;
 | 
						|
    }
 | 
						|
  return valid;
 | 
						|
}
 | 
						|
 | 
						|
void RestrictedSpinBox::fixup (QString& input) const
 | 
						|
{
 | 
						|
  auto iter = std::lower_bound (values ().begin (), values ().end (), valueFromText (input));
 | 
						|
  HintedSpinBox::fixup (input);
 | 
						|
  if (iter != values ().end ())
 | 
						|
    {
 | 
						|
      input = textFromValue (*iter);
 | 
						|
    }
 | 
						|
  else
 | 
						|
    {
 | 
						|
      input = textFromValue (values ().back ());
 | 
						|
    }
 | 
						|
}
 |