File: LettersSpinBox.cpp

package info (click to toggle)
wsjtx 2.7.0%2Brepack-1
  • links: PTS, VCS
  • area: main
  • in suites: trixie
  • size: 70,440 kB
  • sloc: cpp: 75,379; f90: 46,460; python: 27,241; ansic: 13,367; fortran: 2,382; makefile: 197; sh: 133
file content (25 lines) | stat: -rwxr-xr-x 562 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#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;
}