libdrmconf  0.11.3
A library to program DMR radios.
radiosettings.hh
1 #ifndef RADIOSETTINGS_HH
2 #define RADIOSETTINGS_HH
3 
4 #include "configobject.hh"
5 #include "channel.hh"
6 
7 #include "radioddity_extensions.hh"
8 #include "anytone_extension.hh"
9 #include "tyt_extensions.hh"
10 
13 class RadioSettings : public ConfigItem
14 {
15  Q_OBJECT
17  Q_PROPERTY(QString introLine1 READ introLine1 WRITE setIntroLine1)
19  Q_PROPERTY(QString introLine2 READ introLine2 WRITE setIntroLine2)
21  Q_PROPERTY(unsigned micLevel READ micLevel WRITE setMicLevel)
23  Q_PROPERTY(bool speech READ speech WRITE enableSpeech)
25  Q_PROPERTY(Channel::Power power READ power WRITE setPower)
27  Q_PROPERTY(unsigned squelch READ squelch WRITE setSquelch)
29  Q_PROPERTY(unsigned vox READ vox WRITE setVOX)
31  Q_PROPERTY(unsigned tot READ tot WRITE setTOT)
32 
33 
39 
40 public:
42  explicit RadioSettings(QObject *parent=nullptr);
43 
44  bool copy(const ConfigItem &other);
45  ConfigItem *clone() const;
46 
48  void clear();
49 
51  const QString &introLine1() const;
53  void setIntroLine1(const QString &line);
54 
56  const QString &introLine2() const;
58  void setIntroLine2(const QString &line);
59 
61  unsigned micLevel() const;
63  void setMicLevel(unsigned value);
64 
66  bool speech() const;
68  void enableSpeech(bool enabled);
69 
71  unsigned squelch() const;
73  void setSquelch(unsigned squelch);
74 
76  Channel::Power power() const;
79 
81  bool voxDisabled() const;
83  unsigned vox() const;
85  void setVOX(unsigned level);
87  void disableVOX();
88 
90  bool totDisabled() const;
92  unsigned tot() const;
94  void setTOT(unsigned sec);
96  void disableTOT();
97 
102 
107 
112 
113 protected slots:
115  void onExtensionModified();
116 
117 protected:
119  QString _introLine1;
121  QString _introLine2;
123  unsigned _micLevel;
125  bool _speech;
127  unsigned _squelch;
131  unsigned _vox;
140 };
141 
142 #endif // RADIOCONFIG_HH
Implements the device specific extension for the general settings of AnyTone devices.
Definition: anytone_extension.hh:2051
Power
Specifies the prefix for every ID assigned to every channel during serialization.
Definition: channel.hh:61
Base class for all configuration objects (channels, zones, contacts, etc).
Definition: configobject.hh:40
Represents the common radio-global settings.
Definition: radiosettings.hh:14
RadiodditySettingsExtension * radioddity
The settings extension for Radioddity devices.
Definition: radiosettings.hh:36
void setVOX(unsigned level)
Sets the default VOX level [0-10], 0=disabled.
Definition: radiosettings.cc:117
QString _introLine2
Holds the second intro line.
Definition: radiosettings.hh:121
RadioSettings(QObject *parent=nullptr)
Default constructor.
Definition: radiosettings.cc:3
ConfigItem * clone() const
Clones this item.
Definition: radiosettings.cc:24
TyTSettingsExtension * tyt
The settings extension for TyT devices.
Definition: radiosettings.hh:34
unsigned squelch
The squelch level.
Definition: radiosettings.hh:27
QString _introLine1
Holds the first intro line.
Definition: radiosettings.hh:119
void enableSpeech(bool enabled)
Enables/disables the speech synthesis.
Definition: radiosettings.cc:82
void clear()
Resets the settings.
Definition: radiosettings.cc:34
AnytoneSettingsExtension * anytoneExtension() const
Returns the AnyTone device specific radio settings.
Definition: radiosettings.cc:181
void setSquelch(unsigned squelch)
Sets the default squelch level.
Definition: radiosettings.cc:92
bool _speech
Holds the speech synthesis flag.
Definition: radiosettings.hh:125
AnytoneSettingsExtension * anytone
Settings for AnyTone devices.
Definition: radiosettings.hh:38
void setTOT(unsigned sec)
Sets the default transmit timeout (TOT) in seconds, 0=disabled.
Definition: radiosettings.cc:135
bool totDisabled() const
Returns true if the transmit timeout (TOT) is disabled.
Definition: radiosettings.cc:127
bool voxDisabled() const
Returns true if VOX is disabled by default.
Definition: radiosettings.cc:109
void onExtensionModified()
Internal used callback whenever an extension is modified.
Definition: radiosettings.cc:199
QString introLine1
The first intro line.
Definition: radiosettings.hh:17
void setIntroLine1(const QString &line)
(Re-)Sets the first intro line.
Definition: radiosettings.cc:52
bool speech
Speech synthesis flag.
Definition: radiosettings.hh:23
unsigned _micLevel
Holds the mic amplification level.
Definition: radiosettings.hh:123
unsigned vox
The default vox sensitivity.
Definition: radiosettings.hh:29
unsigned tot
The default transmit timeout.
Definition: radiosettings.hh:31
void setTyTExtension(TyTSettingsExtension *ext)
Sets the TyT device specific radio settings.
Definition: radiosettings.cc:149
unsigned _squelch
Holds the global squelch setting.
Definition: radiosettings.hh:127
void setMicLevel(unsigned value)
(Re-)Sets the MIC amplification level [1,10].
Definition: radiosettings.cc:72
RadiodditySettingsExtension * radioddityExtension() const
Returns the Radioddity device specific radio settings.
Definition: radiosettings.cc:163
void disableTOT()
Disables the transmit timeout (TOT).
Definition: radiosettings.cc:140
RadiodditySettingsExtension * _radioddityExtension
Device specific settings extension for Radioddity devices.
Definition: radiosettings.hh:137
void setPower(Channel::Power power)
Sets the default channel power.
Definition: radiosettings.cc:103
unsigned micLevel
The mic amplification level.
Definition: radiosettings.hh:21
void setIntroLine2(const QString &line)
(Re-)Sets the second intro line.
Definition: radiosettings.cc:62
AnytoneSettingsExtension * _anytoneExtension
Device specific settings extension for AnyTone devices.
Definition: radiosettings.hh:139
bool copy(const ConfigItem &other)
Copies the given item into this one.
Definition: radiosettings.cc:12
void setAnytoneExtension(AnytoneSettingsExtension *ext)
Sets the AnyTone device specific radio settings.
Definition: radiosettings.cc:185
TyTSettingsExtension * tytExtension() const
Returns the TyT device specific radio settings.
Definition: radiosettings.cc:145
void disableVOX()
Disables VOX by default.
Definition: radiosettings.cc:122
QString introLine2
The scond intro line.
Definition: radiosettings.hh:19
unsigned _vox
Holds the global VOX level.
Definition: radiosettings.hh:131
Channel::Power power
The default channel power.
Definition: radiosettings.hh:25
Channel::Power _power
Holds the global power setting.
Definition: radiosettings.hh:129
TyTSettingsExtension * _tytExtension
Device specific settings extension for TyT devices.
Definition: radiosettings.hh:135
void setRadioddityExtension(RadiodditySettingsExtension *ext)
Sets the Radioddity device specific radio settings.
Definition: radiosettings.cc:167
unsigned _transmitTimeOut
Holds the global transmit timeout.
Definition: radiosettings.hh:133
Represents the general settings extension for Radioddity devices.
Definition: radioddity_extensions.hh:9
Represents the TyT general settings extension.
Definition: tyt_extensions.hh:678