26 lines
		
	
	
		
			562 B
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
		
		
			
		
	
	
			26 lines
		
	
	
		
			562 B
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| 
								 | 
							
								#include "LettersSpinBox.hpp"
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#include <QString>
							 | 
						||
| 
								 | 
							
								#include "moc_LettersSpinBox.cpp"
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								QString LettersSpinBox::textFromValue (int value) const
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								  QString text;
							 | 
						||
| 
								 | 
							
								  do {
							 | 
						||
| 
								 | 
							
								    auto digit = value % 26;
							 | 
						||
| 
								 | 
							
								    value /= 26;
							 | 
						||
| 
								 | 
							
								    text = QChar {lowercase_ ? 'a' + digit : 'A' + digit} + text;
							 | 
						||
| 
								 | 
							
								  } while (value);
							 | 
						||
| 
								 | 
							
								  return text;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								int LettersSpinBox::valueFromText (QString const& text) const
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								  int value {0};
							 | 
						||
| 
								 | 
							
								  for (int index = text.size (); index > 0; --index)
							 | 
						||
| 
								 | 
							
								    {
							 | 
						||
| 
								 | 
							
								      value = value * 26 + text[index - 1].toLatin1 () - (lowercase_ ? 'a' : 'A');
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								  return value;
							 | 
						||
| 
								 | 
							
								}
							 |