Fix model input trims and cosmetic for scale fields

This commit is contained in:
elecpower
2021-09-22 18:57:27 +10:00
committed by Peter Feerick
parent b06cbe92bf
commit 9266ad1f34
6 changed files with 86 additions and 27 deletions
+43
View File
@@ -20,6 +20,8 @@
#include "input_data.h"
#include "radiodataconversionstate.h"
#include "eeprominterface.h"
#include "compounditemmodels.h"
void ExpoData::convert(RadioDataConversionState & cstate)
{
@@ -33,3 +35,44 @@ bool ExpoData::isEmpty() const
{
return (chn == 0 && mode == INPUT_MODE_NONE);
}
QString ExpoData::carryTrimToString() const
{
if (carryTrim == CARRYTRIM_STICK_OFF)
return tr("OFF");
else if (carryTrim == CARRYTRIM_DEFAULT) {
if (srcRaw.isStick())
return tr("ON");
else
return tr("OFF");
}
else if (carryTrim < 0 && abs(carryTrim) <= Boards::getBoardCapability(getCurrentBoard(), Board::NumTrims))
return RawSource(SOURCE_TYPE_TRIM, abs(carryTrim) - 1).toString();
else
return CPN_STR_UNKNOWN_ITEM;
}
// static
AbstractStaticItemModel * ExpoData::carryTrimItemModel()
{
AbstractStaticItemModel * mdl = new AbstractStaticItemModel();
mdl->setName(AIM_EXPO_CARRYTRIM);
ExpoData tmp = ExpoData();
tmp.srcRaw = RawSource(SOURCE_TYPE_STICK, 0);
for (int i = -CARRYTRIM_STICK_OFF; i <= Boards::getBoardCapability(getCurrentBoard(), Board::NumTrims); i++) {
tmp.carryTrim = -i;
mdl->appendToItemList(tmp.carryTrimToString(), -i, true, 0, CarryTrimSticksGroup);
}
tmp.srcRaw = RawSource(SOURCE_TYPE_NONE, 0);
for (int i = CARRYTRIM_DEFAULT; i <= Boards::getBoardCapability(getCurrentBoard(), Board::NumTrims); i++) {
tmp.carryTrim = -i;
mdl->appendToItemList(tmp.carryTrimToString(), -i, true, 0, CarryTrimNotSticksGroup);
}
mdl->loadItemList();
return mdl;
}