mirror of
https://github.com/saitohirga/WSJT-X.git
synced 2024-11-03 16:01:18 -05:00
94cec5bdc1
Working frequencies can be for all regions or for individual IARU regions. This allows each mode band tuple to have one or more working frequencies which can include local ones only offered when the user configures their IARU region. Change working frequency default suggestions to better fit in FT8. General rule is FT8 is at JT65 -2kHz except where that is not possible e.g. where that would fall into a segment not allocated for narrow band data modes. For tight bands like top band sqeeze existing JT65 and JT allocations to allow space for FT8. NOTE: this change changes the WSPR frequency on 80m to allow access to JA stations that currently have no allocation where it was placed. ALSO NOTE: the JT65 and JT9 frequencies for 80m move down 6 kHz, again to accommodate region 3 users. Other appliactions not within our control should be asked to move in step when 1.8.0 is released. git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7810 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
82 lines
2.2 KiB
C++
82 lines
2.2 KiB
C++
#ifndef IARU_REGIONS_HPP__
|
|
#define IARU_REGIONS_HPP__
|
|
|
|
#include <QAbstractListModel>
|
|
|
|
#include "qt_helpers.hpp"
|
|
|
|
class QString;
|
|
class QVariant;
|
|
class QModelIndex;
|
|
|
|
//
|
|
// Class IARURegions - Qt model that implements the list of IARU regions
|
|
//
|
|
//
|
|
// Responsibilities
|
|
//
|
|
// Provides a single column list model that contains the human
|
|
// readable string version of the data region in the display
|
|
// role. Also provided is a translatable column header string and
|
|
// tool tip string.
|
|
//
|
|
//
|
|
// Collaborations
|
|
//
|
|
// Implements a concrete sub-class of the QAbstractListModel class.
|
|
//
|
|
class IARURegions final
|
|
: public QAbstractListModel
|
|
{
|
|
Q_OBJECT
|
|
Q_ENUMS (Region)
|
|
|
|
public:
|
|
//
|
|
// This enumeration contains the supported regions, to complement
|
|
// this an array of human readable strings in the implementation
|
|
// (IARURegions.cpp) must be maintained in parallel.
|
|
//
|
|
enum Region
|
|
{
|
|
ALL, // matches with all regions
|
|
R1,
|
|
R2,
|
|
R3,
|
|
REGIONS_END_SENTINAL_AND_COUNT // this must be last
|
|
};
|
|
Q_ENUM (Region)
|
|
|
|
explicit IARURegions (QObject * parent = nullptr);
|
|
|
|
// translate between enumeration and human readable strings
|
|
static char const * name (Region);
|
|
static Region value (QString const&);
|
|
|
|
// Implement the QAbstractListModel interface
|
|
int rowCount (QModelIndex const& parent = QModelIndex {}) const override
|
|
{
|
|
return parent.isValid () ? 0 : REGIONS_END_SENTINAL_AND_COUNT; // Number of regionss in Region enumeration class
|
|
}
|
|
QVariant data (QModelIndex const&, int role = Qt::DisplayRole) const override;
|
|
QVariant headerData (int section, Qt::Orientation, int = Qt::DisplayRole) const override;
|
|
};
|
|
|
|
// Qt boilerplate to make the IARURegions::region enumeration a type
|
|
// that can be streamed and queued as a signal argument as well as
|
|
// showing the human readable string when output to debug streams.
|
|
#if QT_VERSION < 0x050500
|
|
// Qt 5.6 introduces the Q_ENUM macro which automatically registers
|
|
// the meta-type
|
|
Q_DECLARE_METATYPE (IARURegions::Region);
|
|
#endif
|
|
|
|
#if !defined (QT_NO_DEBUG_STREAM)
|
|
ENUM_QDEBUG_OPS_DECL (IARURegions, Region);
|
|
#endif
|
|
|
|
ENUM_QDATASTREAM_OPS_DECL (IARURegions, Region);
|
|
ENUM_CONVERSION_OPS_DECL (IARURegions, Region);
|
|
|
|
#endif
|