mirror of
https://github.com/saitohirga/WSJT-X.git
synced 2024-08-24 15:16:36 -04:00
These were using a hijacked custom spin box that was designed only for letters i.e. submodes. Now there are two new custom spin boxes. HistedSpinBox:- can be set with a list of integer values which the step up and down will follow. Optionally limits the maximum and minimum value to the upper and lower bounds of the values set. Note that intermediate values are still valid. RestrictedSpinBox:- more like a combo box because the provided values are the only ones that can be set. HintedSpinBox is used for the frequency tolerance and RestrictedSpinBox is used for T/R period. git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7698 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
26 lines
562 B
C++
26 lines
562 B
C++
#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;
|
|
}
|