diff --git a/companion/src/modeledit/expodialog.cpp b/companion/src/modeledit/expodialog.cpp index 7d3e64e03..2e8c2d2cc 100644 --- a/companion/src/modeledit/expodialog.cpp +++ b/companion/src/modeledit/expodialog.cpp @@ -78,10 +78,9 @@ ExpoDialog::ExpoDialog(QWidget *parent, ModelData & model, ExpoData *expoData, G ui->trimCB->hide(); } - ui->trimCB->addItem(tr("Rud"), 1); - ui->trimCB->addItem(tr("Ele"), 2); - ui->trimCB->addItem(tr("Thr"), 3); - ui->trimCB->addItem(tr("Ail"), 4); + for(int i=0; i < NUM_STICKS; i++) { + ui->trimCB->addItem(AnalogString(i), i+1); + } ui->trimCB->setCurrentIndex(1 - ed->carryTrim); int expolength = firmware->getCapability(HasExpoNames); diff --git a/companion/src/modeledit/flightmodes.cpp b/companion/src/modeledit/flightmodes.cpp index 3fba520c5..20d03a71a 100644 --- a/companion/src/modeledit/flightmodes.cpp +++ b/companion/src/modeledit/flightmodes.cpp @@ -56,7 +56,11 @@ FlightModePanel::FlightModePanel(QWidget * parent, ModelData & model, int phaseI } // The trims - QString labels[] = { tr("Rud"), tr("Ele"), tr("Thr"), tr("Ail") }; // TODO is elsewhere for sure + QString labels[NUM_STICKS]; + for(int i=0; i < NUM_STICKS; i++) { + labels[i] = AnalogString(i); + } + trimsLabel << ui->trim1Label << ui->trim2Label << ui->trim3Label << ui->trim4Label; trimsUse << ui->trim1Use << ui->trim2Use << ui->trim3Use << ui->trim4Use; diff --git a/companion/src/modeledit/mixerdialog.cpp b/companion/src/modeledit/mixerdialog.cpp index fcebdb6a8..85e602f11 100644 --- a/companion/src/modeledit/mixerdialog.cpp +++ b/companion/src/modeledit/mixerdialog.cpp @@ -38,10 +38,9 @@ MixerDialog::MixerDialog(QWidget *parent, ModelData & model, MixData *mixdata, G } if (!firmware->getCapability(VirtualInputs)) { - ui->trimCB->addItem(tr("Rud")); - ui->trimCB->addItem(tr("Ele")); - ui->trimCB->addItem(tr("Thr")); - ui->trimCB->addItem(tr("Ail")); + for(int i=0; i < NUM_STICKS; i++) { + ui->trimCB->addItem(AnalogString(i)); + } } ui->trimCB->setCurrentIndex(1 - md->carryTrim); diff --git a/companion/src/modelprinter.cpp b/companion/src/modelprinter.cpp index 13c9cc956..20f752c63 100644 --- a/companion/src/modelprinter.cpp +++ b/companion/src/modelprinter.cpp @@ -64,7 +64,7 @@ QString ModelPrinter::printOutputName(int idx) return name; } else { - return printChannelName(idx); + return ""; } } @@ -180,7 +180,7 @@ QString ModelPrinter::printTimer(int idx) QString ModelPrinter::printTimer(const TimerData & timer) { QStringList result; - if (firmware->getCapability(TimersName)) + if (firmware->getCapability(TimersName) && timer.name[0]) result += tr("Name(%1)").arg(timer.name); result += tr("%1:%2").arg(timer.val/60, 2, 10, QChar('0')).arg(timer.val%60, 2, 10, QChar('0')); result += timer.mode.toString(); @@ -201,10 +201,25 @@ QString ModelPrinter::printTrim(int flightModeIndex, int stickIndex) { const FlightModeData & fm = model.flightModeData[flightModeIndex]; - if (fm.trimRef[stickIndex] == -1) - return QString("%1").arg(fm.trim[stickIndex]); - else - return tr("FM%1").arg(fm.trimRef[stickIndex]); + if (fm.trimMode[stickIndex] == -1) { + return tr("Off"); + } + else { + if (fm.trimRef[stickIndex] == flightModeIndex) { + return QString("%1").arg(fm.trim[stickIndex]); + } + else { + if (fm.trimMode[stickIndex] == 0) { + return tr("FM%1").arg(fm.trimRef[stickIndex]); + } + else { + if (fm.trim[stickIndex] < 0) + return tr("FM%1%2").arg(fm.trimRef[stickIndex]).arg(fm.trim[stickIndex]); + else + return tr("FM%1+%2").arg(fm.trimRef[stickIndex]).arg(fm.trim[stickIndex]); + } + } + } } QString ModelPrinter::printGlobalVar(int flightModeIndex, int gvarIndex) @@ -295,7 +310,7 @@ QString ModelPrinter::printInputLine(const ExpoData & input) QString ModelPrinter::printMixerName(int curDest) { - QString str = printChannelName(curDest) + " "; + QString str = printChannelName(curDest-1) + " "; if (firmware->getCapability(HasChNames)) { QString name = model.limitData[curDest-1].name; if (!name.isEmpty()) { diff --git a/companion/src/multimodelprinter.cpp b/companion/src/multimodelprinter.cpp index 6736d9348..963aeb4a2 100644 --- a/companion/src/multimodelprinter.cpp +++ b/companion/src/multimodelprinter.cpp @@ -84,8 +84,8 @@ bool MultiModelPrinter::MultiColumns::isEmpty() for (int cc=0; ccgetCapability(FlightModes)) str += printFlightModes(); @@ -182,10 +192,8 @@ QString MultiModelPrinter::printFlightModes() columns.append("" + tr("Switch") + ""); columns.append("" + tr("Fade IN") + ""); columns.append("" + tr("Fade OUT") + ""); - for (int i=0; i<4; i++) { - columns.append(""); - COMPARE(modelPrinter->printInputName(i)); - columns.append(""); + for (int i=0; i" + AnalogString(i) + " trim"); } columns.append(""); @@ -199,7 +207,7 @@ QString MultiModelPrinter::printFlightModes() columns.append(""); COMPARE(model->flightModeData[i].fadeOut); columns.append(""); - for (int k=0; k<4; k++) { + for (int k=0; k"); COMPARE(modelPrinter->printTrim(i, k)); columns.append(""); @@ -259,14 +267,17 @@ QString MultiModelPrinter::printLimits() MultiColumns columns(models.size()); columns.append("" \ "" \ - " " \ + " " \ + " " \ " " \ " " \ " " \ " " \ ""); for (int i=0; igetCapability(Outputs); i++) { - columns.append(""); }
" + (firmware->getCapability(HasChNames) ? tr("Name") : "") + "" + tr("Channel") + "" + (firmware->getCapability(HasChNames) ? tr("Name") : "") + "" + tr("Offset") + "" + tr("Min") + "" + tr("Max") + "" + tr("Invert") + "
"); + columns.append("
"); + COMPARE(modelPrinter->printChannelName(i)); + columns.append(""); COMPARE(modelPrinter->printOutputName(i)); columns.append(""); COMPARE(model->limitData[i].offsetToString()); @@ -341,12 +352,12 @@ QString MultiModelPrinter::printMixers() } if (count > 0) { columns.append("
"); - COMPARE(modelPrinter->printChannelName(i)); + COMPARE(modelPrinter->printMixerName(i+1)); columns.append(""); for (int j=0; j 0) columns.append("
"); - COMPARE(modelPrinter->printMixerLine(*model->mixes(i)[j])); + COMPARE((j < model->mixes(i).size()) ? modelPrinter->printMixerLine(*model->mixes(i)[j]) : " "); } columns.append("