Skip to content

Commit 876fb53

Browse files
piotrvapfeerick
authored andcommitted
feat: Custom warnings - squashed #1425
Added proper translations for menu entries for custom warning Companion support for custom global warning chore: fix rebase problems chore: more rebase fixes fix: merge problems
1 parent 43db9c8 commit 876fb53

File tree

30 files changed

+918
-685
lines changed

30 files changed

+918
-685
lines changed

companion/src/firmwares/edgetx/yaml_generalsettings.cpp

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -176,6 +176,9 @@ Node convert<GeneralSettings>::encode(const GeneralSettings& rhs)
176176
node["beepMode"] = rhs.beeperMode;
177177
node["disableAlarmWarning"] = (int)rhs.disableAlarmWarning;
178178
node["disableRssiPoweroffAlarm"] = (int)rhs.disableRssiPoweroffAlarm;
179+
node["customWarningEnable"] = (int)rhs.customWarningEnable;
180+
node["customWarningTitle"] = rhs.customWarningTitle;
181+
node["customWarningText"] = rhs.customWarningText;
179182
node["USBMode"] = rhs.usbMode;
180183
node["stickDeadZone"] = rhs.stickDeadZone;
181184
node["jackMode"] = rhs.jackMode;
@@ -384,6 +387,9 @@ bool convert<GeneralSettings>::decode(const Node& node, GeneralSettings& rhs)
384387
node["beepMode"] >> rhs.beeperMode;
385388
node["disableAlarmWarning"] >> rhs.disableAlarmWarning;
386389
node["disableRssiPoweroffAlarm"] >> rhs.disableRssiPoweroffAlarm;
390+
node["customWarningEnable"] >> rhs.customWarningEnable;
391+
node["customWarningTitle"] >> rhs.customWarningTitle;
392+
node["customWarningText"] >> rhs.customWarningText;
387393
node["USBMode"] >> rhs.usbMode;
388394
node["stickDeadZone"] >> rhs.stickDeadZone;
389395
node["jackMode"] >> rhs.jackMode;

companion/src/firmwares/generalsettings.h

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,8 @@ constexpr int TTS_LANGUAGE_LEN {2};
102102
constexpr int HARDWARE_NAME_LEN {3};
103103
constexpr int REGISTRATION_ID_LEN {8};
104104
constexpr int SELECTED_THEME_NAME_LEN {26};
105+
constexpr int CUSTOM_WARNING_TITLE_LEN {8};
106+
constexpr int CUSTOM_WARNING_TEXT_LEN {32};
105107

106108
class GeneralSettings {
107109
Q_DECLARE_TR_FUNCTIONS(GeneralSettings)
@@ -205,6 +207,9 @@ class GeneralSettings {
205207
BeeperMode beeperMode;
206208
bool disableAlarmWarning;
207209
bool disableRssiPoweroffAlarm;
210+
bool customWarningEnable;
211+
char customWarningTitle[CUSTOM_WARNING_TITLE_LEN + 1];
212+
char customWarningText[CUSTOM_WARNING_TEXT_LEN + 1];
208213
unsigned int usbMode;
209214
unsigned int stickDeadZone;
210215
unsigned int jackMode;

companion/src/generaledit/generalsetup.cpp

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -250,6 +250,11 @@ ui(new Ui::GeneralSetup)
250250

251251
ui->rssiPowerOffWarnChkB->setChecked(!generalSettings.disableRssiPoweroffAlarm); // Default is zero=checked
252252

253+
ui->customWarningEnable->setChecked(generalSettings.customWarningEnable);
254+
ui->customWarningTitle->setText(generalSettings.customWarningTitle);
255+
ui->customWarningText->setText(generalSettings.customWarningText);
256+
257+
253258
if (IS_FAMILY_HORUS_OR_T16(firmware->getBoard())) {
254259
ui->splashScreenDuration->hide();
255260
ui->splashScreenLabel->hide();
@@ -730,6 +735,30 @@ void GeneralSetupPanel::on_rssiPowerOffWarnChkB_stateChanged(int)
730735
emit modified();
731736
}
732737

738+
void GeneralSetupPanel::on_customWarningEnable_stateChanged(int)
739+
{
740+
generalSettings.customWarningEnable = ui->customWarningEnable->isChecked() ? 1 : 0;
741+
emit modified();
742+
}
743+
744+
void GeneralSetupPanel::on_customWarningTitle_editingFinished()
745+
{
746+
//copy ownerID back to generalSettings.registrationId
747+
QByteArray array = ui->customWarningTitle->text().toLocal8Bit();
748+
strncpy(generalSettings.customWarningTitle, array, 8);
749+
generalSettings.customWarningTitle[8] = '\0';
750+
emit modified();
751+
}
752+
753+
void GeneralSetupPanel::on_customWarningText_editingFinished()
754+
{
755+
//copy ownerID back to generalSettings.registrationId
756+
QByteArray array = ui->customWarningText->text().toLocal8Bit();
757+
strncpy(generalSettings.customWarningText, array, 32);
758+
generalSettings.customWarningText[32] = '\0';
759+
emit modified();
760+
}
761+
733762
void GeneralSetupPanel::on_beeperCB_currentIndexChanged(int index)
734763
{
735764
generalSettings.beeperMode = (GeneralSettings::BeeperMode)(index-2);

companion/src/generaledit/generalsetup.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,9 @@ class GeneralSetupPanel : public GeneralPanel
4040
void on_splashScreenDuration_currentIndexChanged(int index);
4141
void on_alarmwarnChkB_stateChanged(int);
4242
void on_rssiPowerOffWarnChkB_stateChanged(int);
43+
void on_customWarningEnable_stateChanged(int);
44+
void on_customWarningTitle_editingFinished();
45+
void on_customWarningText_editingFinished();
4346
void on_gpsFormatCB_currentIndexChanged(int index);
4447
void on_displayTypeCB_currentIndexChanged(int index);
4548
void on_BLBright_SB_editingFinished();

0 commit comments

Comments
 (0)