From f30e7f1e77468bc61832b4af45d6758108cb5288 Mon Sep 17 00:00:00 2001 From: ikkemaniac Date: Mon, 18 Aug 2025 04:43:00 +0200 Subject: [PATCH] fix(cpn): mode strings for surface radios (#6507) --- companion/src/modelprinter.cpp | 15 +++++++++++---- companion/src/multimodelprinter.cpp | 18 ++++++++++++++---- 2 files changed, 25 insertions(+), 8 deletions(-) diff --git a/companion/src/modelprinter.cpp b/companion/src/modelprinter.cpp index 12ccf93c8..4f352c82c 100644 --- a/companion/src/modelprinter.cpp +++ b/companion/src/modelprinter.cpp @@ -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 diff --git a/companion/src/multimodelprinter.cpp b/companion/src/multimodelprinter.cpp index fa6c8f42c..fc9ec3ef1 100644 --- a/companion/src/multimodelprinter.cpp +++ b/companion/src/multimodelprinter.cpp @@ -424,13 +424,20 @@ QString MultiModelPrinter::printHeliSetup() QString MultiModelPrinter::printFlightModes() { - QString str = printTitle(tr("Flight modes")); + QString str = printTitle(Boards::getCapability(getCurrentBoard(), Board::Air) + ? tr("Flight modes") + : tr("Drive modes")); // Trims { MultiColumns columns(modelPrinterMap.size()); columns.appendSectionTableStart(); - QStringList hd = QStringList() << tr("Flight mode") << tr("Switch") << tr("F.In") << tr("F.Out"); - for (int i = 0; i < getBoardCapability(getCurrentBoard(), Board::NumTrims); i++) { + QStringList hd = QStringList() + << (Boards::getCapability(getCurrentBoard(), Board::Air) + ? tr("Flight mode") + : tr("Drive mode")) + << tr("Switch") << tr("F.In") << tr("F.Out"); + for (int i = 0; i < getBoardCapability(getCurrentBoard(), Board::NumTrims); + i++) { hd << RawSource(SOURCE_TYPE_TRIM, i + 1).toString(); } columns.appendRowHeader(hd); @@ -502,7 +509,10 @@ QString MultiModelPrinter::printFlightModes() columns.appendRowEnd(); } - columns.appendRowHeader(QStringList() << tr("Flight mode")); + columns.appendRowHeader( + QStringList() << (Boards::getCapability(getCurrentBoard(), Board::Air) + ? tr("Flight mode") + : tr("Drive mode"))); for (int i = 0; i < firmware->getCapability(FlightModes); i++) { columns.appendRowStart();