fix(cpn): mode strings for surface radios (#6507)

This commit is contained in:
ikkemaniac
2025-08-18 12:43:00 +10:00
committed by GitHub
parent a9a0edefe8
commit f30e7f1e77
2 changed files with 25 additions and 8 deletions
+11 -4
View File
@@ -475,16 +475,23 @@ QString ModelPrinter::printFlightModes(unsigned int flightModes)
int numFlightModes = firmware->getCapability(FlightModes);
if (numFlightModes && flightModes) {
if (flightModes == (unsigned int)(1 << numFlightModes) - 1) {
return tr("Disabled in all flight modes");
}
else {
return (Boards::getCapability(getCurrentBoard(), Board::Air)
? tr("Disabled in all flight modes")
: tr("Disabled in all drive modes"));
} else {
QStringList list;
for (int i = 0; i < numFlightModes; i++) {
if (!(flightModes & (1 << i))) {
list << printFlightModeName(i);
}
}
return (list.size() > 1 ? tr("Flight modes") : tr("Flight mode")) + QString("(%1)").arg(list.join(", "));
if (Boards::getCapability(getCurrentBoard(), Board::Air)) {
return (list.size() > 1 ? tr("Flight modes") : tr("Flight mode")) +
QString("(%1)").arg(list.join(", "));
} else {
return (list.size() > 1 ? tr("Drive modes") : tr("Drive mode")) +
QString("(%1)").arg(list.join(", "));
};
}
}
else