mirror of
https://github.com/saitohirga/WSJT-X.git
synced 2024-11-26 14:18:38 -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
89 lines
2.2 KiB
C++
89 lines
2.2 KiB
C++
#ifndef MODES_HPP__
|
|
#define MODES_HPP__
|
|
|
|
#include <QAbstractListModel>
|
|
|
|
#include "qt_helpers.hpp"
|
|
|
|
class QString;
|
|
class QVariant;
|
|
class QModelIndex;
|
|
|
|
//
|
|
// Class Modes - Qt model that implements a list of data modes
|
|
//
|
|
//
|
|
// Responsibilities
|
|
//
|
|
// Provides a single column list model that contains the human
|
|
// readable string version of the data mode 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 Modes final
|
|
: public QAbstractListModel
|
|
{
|
|
Q_OBJECT
|
|
Q_ENUMS (Mode)
|
|
|
|
public:
|
|
//
|
|
// This enumeration contains the supported modes, to complement this
|
|
// an array of human readable strings in the implementation
|
|
// (Modes.cpp) must be maintained in parallel.
|
|
//
|
|
enum Mode
|
|
{
|
|
ALL, // matches with all modes
|
|
JT65,
|
|
JT9,
|
|
JT4,
|
|
WSPR,
|
|
Echo,
|
|
ISCAT,
|
|
MSK144,
|
|
QRA64,
|
|
FreqCal,
|
|
FT8,
|
|
MODES_END_SENTINAL_AND_COUNT // this must be last
|
|
};
|
|
Q_ENUM (Mode)
|
|
|
|
explicit Modes (QObject * parent = nullptr);
|
|
|
|
// translate between enumeration and human readable strings
|
|
static char const * name (Mode);
|
|
static Mode value (QString const&);
|
|
|
|
// Implement the QAbstractListModel interface
|
|
int rowCount (QModelIndex const& parent = QModelIndex {}) const override
|
|
{
|
|
return parent.isValid () ? 0 : MODES_END_SENTINAL_AND_COUNT; // Number of modes in Mode 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 Modes::Mode 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 (Modes::Mode);
|
|
#endif
|
|
|
|
#if !defined (QT_NO_DEBUG_STREAM)
|
|
ENUM_QDEBUG_OPS_DECL (Modes, Mode);
|
|
#endif
|
|
|
|
ENUM_QDATASTREAM_OPS_DECL (Modes, Mode);
|
|
ENUM_CONVERSION_OPS_DECL (Modes, Mode);
|
|
|
|
#endif
|