diff --git a/companion/src/helpers_html.cpp b/companion/src/helpers_html.cpp index 43605f574..9625b8818 100644 --- a/companion/src/helpers_html.cpp +++ b/companion/src/helpers_html.cpp @@ -20,32 +20,63 @@ #include "helpers_html.h" -QString tdAlign(const QString &s, const QString &align, const QString &color, bool bold) +QString tdAlign(const QString & s, const QString & align, const QString & color, bool bold) { QString str = s; if (bold) str = "" + str + ""; - if (!color.isEmpty()) str = "" + str + ""; - return "
| " + tr("Timers") + " | "); - columns.append("" + tr("Time") + " | "); - columns.append("" + tr("Switch") + " | "); - columns.append("" + tr("Countdown") + " | "); - columns.append("" + tr("Minute call") + " | "); - columns.append("" + tr("Persistence") + " | "); - columns.append("
| "); + columns.appendRowStart(); + columns.appendCellStart(20, true); COMPARE(modelPrinter->printTimerName(i)); - columns.append(" | "); - COMPARE(modelPrinter->printTimerTimeValue(model->timers[i].val)); - columns.append(" | "); - COMPARE(model->timers[i].mode.toString()); - columns.append(" | "); - COMPARE(modelPrinter->printTimerCountdownBeep(model->timers[i].countdownBeep)); - columns.append(" | "); - COMPARE(modelPrinter->printTimerMinuteBeep(model->timers[i].minuteBeep)); - columns.append(" | "); - COMPARE(modelPrinter->printTimerPersistent(model->timers[i].persistent)); - columns.append(" |
| "); - columns.appendTitle(tr("%1:").arg(i+1)); - COMPARE(modelPrinter->printModule(i)); - columns.append(" |
| "); - columns.appendTitle(tr("Trainer port:")); - COMPARE(modelPrinter->printModule(-1)); - columns.append(" |
| " + tr("Input") + " | " + tr("Weight") + " | "); - columns.append("|
| " + tr("Long. cyc") + " | "); - COMPARE(model->swashRingData.elevatorSource.toString(model)); - columns.append(" | "); - COMPARE(model->swashRingData.elevatorWeight) - columns.append(" |
| " + tr("Lateral cyc") + " | "); - COMPARE(model->swashRingData.aileronSource.toString(model)); - columns.append(" | "); - COMPARE(model->swashRingData.aileronWeight) - columns.append(" |
| " + tr("Collective") + " | "); - COMPARE(model->swashRingData.collectiveSource.toString(model)); - columns.append(" | "); - COMPARE(model->swashRingData.collectiveWeight) - columns.append(" |
| " + tr("Flight mode") + " | "); - columns.append("" + tr("Switch") + " | "); - columns.append("" + tr("Fade IN") + " | "); - columns.append("" + tr("Fade OUT") + " | "); + columns.appendSectionTableStart(); + QStringList hd = QStringList() << tr("Flight mode") << tr("Switch") << tr("Fade IN") << tr("Fade OUT"); for (int i=0; i < getBoardCapability(getCurrentBoard(), Board::NumTrims); i++) { - columns.append("" + RawSource(SOURCE_TYPE_TRIM, i).toString() + " | "); + hd << RawSource(SOURCE_TYPE_TRIM, i).toString(); } - columns.append("
| " + tr("FM%1").arg(i) + " "); - COMPARE(model->flightModeData[i].name); - columns.append(" | "); - COMPARE(modelPrinter->printFlightModeSwitch(model->flightModeData[i].swtch)); - columns.append(" | "); - COMPARE(model->flightModeData[i].fadeIn); - columns.append(" | "); - COMPARE(model->flightModeData[i].fadeOut); - columns.append(" | "); + columns.appendRowStart(); + columns.appendCellStart(0,true); + COMPARE(modelPrinter->printFlightModeName(i)); + columns.appendCellEnd(true); + COMPARECELL(modelPrinter->printFlightModeSwitch(model->flightModeData[i].swtch)); + COMPARECELL(model->flightModeData[i].fadeIn); + COMPARECELL(model->flightModeData[i].fadeOut); for (int k=0; k < getBoardCapability(getCurrentBoard(), Board::NumTrims); k++) { - columns.append(""); - COMPARE(modelPrinter->printTrim(i, k)); - columns.append(" | "); + COMPARECELL(modelPrinter->printTrim(i, k)); } - columns.append("
| " + tr("Global variables") + " | "); + columns.appendSectionTableStart(); + QStringList hd = QStringList() << tr("Global variables"); if (firmware->getCapability(GvarsFlightModes)) { for (int i=0; i" + tr("RE%1").arg(i+1) + " | "); + hd << tr("RE%1").arg(i+1); } - columns.append("
| Name | "); + columns.appendRowStart(tr("Name")); for (int i=0; i|
| Unit | "); + columns.appendRowEnd(); + columns.appendRowStart(tr("Unit")); for (int i=0; i|
| Prec | "); + columns.appendRowEnd(); + columns.appendRowStart(tr("Prec")); for (int i=0; i|
| Min | "); + columns.appendRowEnd(); + columns.appendRowStart(tr("Min")); for (int i=0; i|
| Max | "); + columns.appendRowEnd(); + columns.appendRowStart(tr("Max")); for (int i=0; i|
| Popup | "); + columns.appendRowEnd(); + columns.appendRowStart(tr("Popup")); for (int i=0; i|
| " + tr("Flight mode") + " | |
| " + tr("FM%1").arg(i) + " "); - COMPARE(model->flightModeData[i].name); - columns.append(" | "); + columns.appendRowStart(); + columns.appendCellStart(0,true); + COMPARE(modelPrinter->printFlightModeName(i)); + columns.appendCellEnd(true); if (firmware->getCapability(GvarsFlightModes)) { for (int k=0; k"); - COMPARE(modelPrinter->printRotaryEncoder(i, k)); - columns.append(" | "); + COMPARECELL(modelPrinter->printRotaryEncoder(i, k)); } - columns.append("
| " + tr("Channel") + " | " \ - "" + tr("Subtrim") + " | " \ - "" + tr("Min") + " | " \ - "" + tr("Max") + " | " \ - "" + tr("Direct") + " | "); + columns.appendSectionTableStart(); + QStringList hd = QStringList() << tr("Channel") << tr("Subtrim") << tr("Min") << tr("Max") << tr("Direct"); if (IS_HORUS_OR_TARANIS(firmware->getBoard())) - columns.append("" + tr("Curve") + " | "); + hd << tr("Curve"); if (firmware->getCapability(PPMCenter)) - columns.append("" + tr("PPM") + " | "); + hd << tr("PPM"); if (firmware->getCapability(SYMLimits)) - columns.append("" + tr("Linear") + " | "); - columns.append("
| "); + columns.appendRowStart(); + columns.appendCellStart(0, true); COMPARE(modelPrinter->printChannelName(i)); - columns.append(" | "); - COMPARE(modelPrinter->printOutputOffset(i)); - columns.append(" | "); - COMPARE(modelPrinter->printOutputMin(i)); - columns.append(" | "); - COMPARE(modelPrinter->printOutputMax(i)); - columns.append(" | "); - COMPARE(modelPrinter->printOutputRevert(i)); - columns.append(" | "); + columns.appendCellEnd(true); + COMPARECELL(modelPrinter->printOutputOffset(i)); + COMPARECELL(modelPrinter->printOutputMin(i)); + COMPARECELL(modelPrinter->printOutputMax(i)); + COMPARECELL(modelPrinter->printOutputRevert(i)); if (IS_HORUS_OR_TARANIS(firmware->getBoard())) { - columns.append(""); - COMPARE(modelPrinter->printOutputCurve(i)); - columns.append(" | "); + COMPARECELL(modelPrinter->printOutputCurve(i)); } if (firmware->getCapability(PPMCenter)) { - columns.append(""); - COMPARE(modelPrinter->printOutputPpmCenter(i)); - columns.append(" | "); + COMPARECELL(modelPrinter->printOutputPpmCenter(i)); } if (firmware->getCapability(SYMLimits)) { - columns.append(""); - COMPARE(modelPrinter->printOutputSymetrical(i)); - columns.append(" | "); + COMPARECELL(modelPrinter->printOutputSymetrical(i)); } - columns.append("
| "); + columns.appendRowStart(); + columns.appendCellStart(20, true); COMPARE(modelPrinter->printInputName(i)); - columns.append(" | ");
+ columns.appendCellEnd(true);
+ columns.appendCellStart(80);
for (int j=0; j "); + columns.appendLineBreak(); COMPARE(j |
| "); + columns.appendRowStart(); + columns.appendCellStart(20, true); COMPARE(modelPrinter->printChannelName(i)); - columns.append(" | ");
+ columns.appendCellEnd(true);
+ columns.appendCellStart(80);
for (int j=0; j "); + columns.appendLineBreak(); COMPARE((j < model->mixes(i).size()) ? modelPrinter->printMixerLine(*model->mixes(i)[j], (j>0)) : " "); } - columns.append(" |
| "); + columns.appendRowStart(); + columns.appendCellStart(20, true); COMPARE(modelPrinter->printCurveName(i)); - columns.append(" | ");
- COMPARE(modelPrinter->printCurve(i));
+ columns.appendCellEnd(true);
+ COMPARECELL(modelPrinter->printCurve(i));
+ columns.appendRowEnd();
+ columns.appendRowStart("", 20);
+ columns.appendCellStart();
for (int k=0; k < modelPrinterMap.size(); k++)
- columns.append(k, QString(" |
| " + tr("L%1").arg(i+1) + " | "); - COMPARE(modelPrinter->printLogicalSwitchLine(i)); - columns.append(" |
| " + tr("SF%1").arg(i+1) + " | "); - COMPARE(modelPrinter->printCustomFunctionLine(i)); - columns.append(" |
| " + tr("Analogs") + " | " + tr("Unit") + " | " + tr("Scale") + " | " + tr("Offset") + " |
| "+tr("A%1").arg(i+1)+" | "); - COMPARE(getFrSkyUnits(model->frsky.channels[i].type)); - columns.append(" | "); - COMPARE(QString::number((model->frsky.channels[i].ratio / (model->frsky.channels[i].type==0 ? 10.0 : 1)), 10, (model->frsky.channels[i].type==0 ? 1 : 0))); - columns.append(" | "); - COMPARE(QString::number((model->frsky.channels[i].offset*(model->frsky.channels[i].ratio / (model->frsky.channels[i].type==0 ?10.0 : 1)))/255, 10, (model->frsky.channels[i].type==0 ? 1 : 0))); - columns.append(" |
| " + QString(i==0 ? tr("RSSI Alarms") : "") + " | "); - if (IS_ARM(getCurrentBoard())) { - COMPARE(i==0 ? tr("Low Alarm") : tr("Critical Alarm")); - } - else { - COMPARE(getFrSkyAlarmType(model->rssiAlarms.level[i])); - } - columns.append(" | < | "); - if (i == 0) { - COMPARE(QString::number(model->rssiAlarms.warning, 10)); - } - else { - COMPARE(QString::number(model->rssiAlarms.critical, 10)); - } - columns.append(" |