WSJT-X/Radio.hpp
Bill Somerville 8479b6c2b6 Fix some frequency display and l10n issues
Frequency  display in  the  band  combo box  line  edit was  suffering
floating point precision issues.

Input of frequencies was not honoring current locale rules.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@5881 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-09-10 21:03:42 +00:00

52 lines
1.2 KiB
C++

#ifndef RADIO_HPP_
#define RADIO_HPP_
#include <QObject>
#include <QLocale>
class QVariant;
class QString;
//
// Declarations common to radio software.
//
namespace Radio
{
//
// Frequency types
//
using Frequency = quint64;
using FrequencyDelta = qint64;
//
// Frequency type conversion.
//
// QVariant argument is convertible to double and is assumed to
// be scaled by (10 ** -scale).
//
Frequency frequency (QVariant const&, int scale, QLocale const& = QLocale ());
FrequencyDelta frequency_delta (QVariant const&, int scale, QLocale const& = QLocale ());
//
// Frequency type formatting
//
QString frequency_MHz_string (Frequency, QLocale const& = QLocale ());
QString frequency_MHz_string (FrequencyDelta, QLocale const& = QLocale ());
QString pretty_frequency_MHz_string (Frequency, QLocale const& = QLocale ());
QString pretty_frequency_MHz_string (double, int scale, QLocale const& = QLocale ());
QString pretty_frequency_MHz_string (FrequencyDelta, QLocale const& = QLocale ());
//
// Callsigns
//
bool is_callsign (QString const&);
bool is_compound_callsign (QString const&);
QString base_callsign (QString);
}
Q_DECLARE_METATYPE (Radio::Frequency);
Q_DECLARE_METATYPE (Radio::FrequencyDelta);
#endif