mirror of
https://github.com/opentx/opentx.git
synced 2025-07-14 20:10:08 +03:00
Many improvements of print dialog. Some minor changes in mixes and inputs formatting.
This commit is contained in:
parent
667453d48c
commit
8787dd05cd
6 changed files with 163 additions and 181 deletions
|
@ -518,25 +518,32 @@ QString LogicalSwitchData::toString(const ModelData & model)
|
||||||
case LS_FAMILY_VOFS: {
|
case LS_FAMILY_VOFS: {
|
||||||
RawSource source = RawSource(val1, &model);
|
RawSource source = RawSource(val1, &model);
|
||||||
RawSourceRange range = source.getRange();
|
RawSourceRange range = source.getRange();
|
||||||
|
QString res;
|
||||||
if (val1)
|
if (val1)
|
||||||
result += source.toString();
|
res += source.toString();
|
||||||
else
|
else
|
||||||
result += "0";
|
res += "0";
|
||||||
result.remove(" ");
|
res.remove(" ");
|
||||||
if (func == LS_FN_APOS || func == LS_FN_ANEG)
|
if (func == LS_FN_APOS || func == LS_FN_ANEG)
|
||||||
result = "|" + result + "|";
|
res = "|" + res + "|";
|
||||||
else if (func == LS_FN_DAPOS)
|
else if (func == LS_FN_DAPOS)
|
||||||
result = "|d(" + result + ")|";
|
res = "|d(" + res + ")|";
|
||||||
else if (func == LS_FN_DPOS) result = "d(" + result + ")";
|
else if (func == LS_FN_DPOS) result = "d(" + res + ")";
|
||||||
|
result += res;
|
||||||
|
|
||||||
if (func == LS_FN_APOS || func == LS_FN_VPOS || func == LS_FN_DAPOS || func == LS_FN_DPOS)
|
if (func == LS_FN_APOS || func == LS_FN_VPOS || func == LS_FN_DAPOS || func == LS_FN_DPOS)
|
||||||
result += " > ";
|
result += " > ";
|
||||||
else if (func == LS_FN_ANEG || func == LS_FN_VNEG)
|
else if (func == LS_FN_ANEG || func == LS_FN_VNEG)
|
||||||
result += " < ";
|
result += " < ";
|
||||||
|
else if (func == LS_FN_VALMOSTEQUAL)
|
||||||
|
result += " ~ ";
|
||||||
|
else
|
||||||
|
result += " missing";
|
||||||
result += QString::number(range.step * (val2 /*TODO+ source.getRawOffset(model)*/) + range.offset);
|
result += QString::number(range.step * (val2 /*TODO+ source.getRawOffset(model)*/) + range.offset);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case LS_FAMILY_VBOOL:
|
case LS_FAMILY_VBOOL:
|
||||||
result = RawSwitch(val1).toString();
|
result += RawSwitch(val1).toString();
|
||||||
switch (func) {
|
switch (func) {
|
||||||
case LS_FN_AND:
|
case LS_FN_AND:
|
||||||
result += " AND ";
|
result += " AND ";
|
||||||
|
@ -548,6 +555,7 @@ QString LogicalSwitchData::toString(const ModelData & model)
|
||||||
result += " XOR ";
|
result += " XOR ";
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
result += " bar ";
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
result += RawSwitch(val2).toString();
|
result += RawSwitch(val2).toString();
|
||||||
|
@ -560,6 +568,7 @@ QString LogicalSwitchData::toString(const ModelData & model)
|
||||||
result += "0";
|
result += "0";
|
||||||
switch (func) {
|
switch (func) {
|
||||||
case LS_FN_EQUAL:
|
case LS_FN_EQUAL:
|
||||||
|
case LS_FN_VEQUAL:
|
||||||
result += " = ";
|
result += " = ";
|
||||||
break;
|
break;
|
||||||
case LS_FN_NEQUAL:
|
case LS_FN_NEQUAL:
|
||||||
|
@ -578,6 +587,7 @@ QString LogicalSwitchData::toString(const ModelData & model)
|
||||||
result += " <= ";
|
result += " <= ";
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
result += " foo ";
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
if (val2)
|
if (val2)
|
||||||
|
|
|
@ -37,6 +37,8 @@ class CompanionIcon: public QIcon {
|
||||||
CompanionIcon(QString baseimage);
|
CompanionIcon(QString baseimage);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
bool gvarsEnabled();
|
||||||
|
|
||||||
class GVarGroup : public QObject {
|
class GVarGroup : public QObject {
|
||||||
|
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
|
|
|
@ -155,6 +155,14 @@ QString InputsPanel::getInputText(int dest, bool * new_ch)
|
||||||
str = " ";
|
str = " ";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
switch (md->mode) {
|
||||||
|
case (1): str += " <-"; break;
|
||||||
|
case (2): str += " ->"; break;
|
||||||
|
default: str += " "; break;
|
||||||
|
}
|
||||||
|
|
||||||
|
str += " " + tr("Weight(%1)").arg(getGVarString(md->weight));
|
||||||
|
|
||||||
if (firmware->getCapability(VirtualInputs)) {
|
if (firmware->getCapability(VirtualInputs)) {
|
||||||
str += " " + tr("Source(%1)").arg(md->srcRaw.toString());
|
str += " " + tr("Source(%1)").arg(md->srcRaw.toString());
|
||||||
if (md->carryTrim>0) {
|
if (md->carryTrim>0) {
|
||||||
|
@ -165,15 +173,7 @@ QString InputsPanel::getInputText(int dest, bool * new_ch)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
switch (md->mode) {
|
if (md->curve.value) str += " " + Qt::escape(md->curve.toString());
|
||||||
case (1): str += " <-"; break;
|
|
||||||
case (2): str += " ->"; break;
|
|
||||||
default: str += " "; break;
|
|
||||||
}
|
|
||||||
|
|
||||||
str += " " + tr("Weight(%1)").arg(getGVarString(md->weight));
|
|
||||||
|
|
||||||
if (md->curve.value) str += " " + md->curve.toString();
|
|
||||||
|
|
||||||
QString phasesStr = getPhasesStr(md->phases, model);
|
QString phasesStr = getPhasesStr(md->phases, model);
|
||||||
if (!phasesStr.isEmpty()) str += " " + phasesStr;
|
if (!phasesStr.isEmpty()) str += " " + phasesStr;
|
||||||
|
|
|
@ -191,12 +191,9 @@ QString MixesPanel::getMixerText(int dest, bool * new_ch)
|
||||||
str += " " + Qt::escape(tr("Switch(%1)").arg(md->swtch.toString()));
|
str += " " + Qt::escape(tr("Switch(%1)").arg(md->swtch.toString()));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (md->carryTrim>0) {
|
if (md->carryTrim) {
|
||||||
str += " " + Qt::escape(tr("NoTrim"));
|
str += " " + Qt::escape(tr("NoTrim"));
|
||||||
}
|
}
|
||||||
else if (md->carryTrim<0) {
|
|
||||||
str += " " + Qt::escape(RawSource(SOURCE_TYPE_TRIM, (-(md->carryTrim)-1)).toString());
|
|
||||||
}
|
|
||||||
|
|
||||||
if (md->noExpo) str += " " + Qt::escape(tr("No DR/Expo"));
|
if (md->noExpo) str += " " + Qt::escape(tr("No DR/Expo"));
|
||||||
if (md->sOffset) str += " " + Qt::escape(tr("Offset(%1)").arg(getGVarString(md->sOffset)));
|
if (md->sOffset) str += " " + Qt::escape(tr("Offset(%1)").arg(getGVarString(md->sOffset)));
|
||||||
|
@ -214,7 +211,7 @@ QString MixesPanel::getMixerText(int dest, bool * new_ch)
|
||||||
QString MixerName;
|
QString MixerName;
|
||||||
MixerName.append(md->name);
|
MixerName.append(md->name);
|
||||||
if (!MixerName.isEmpty()) {
|
if (!MixerName.isEmpty()) {
|
||||||
str += Qt::escape(QString("(%1)").arg(MixerName));
|
str += " " + Qt::escape(QString("(%1)").arg(MixerName));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -20,14 +20,20 @@ PrintDialog::PrintDialog(QWidget *parent, FirmwareInterface * firmware, GeneralS
|
||||||
g_eeGeneral(gg),
|
g_eeGeneral(gg),
|
||||||
g_model(gm),
|
g_model(gm),
|
||||||
printfilename(filename),
|
printfilename(filename),
|
||||||
ui(new Ui::PrintDialog)
|
ui(new Ui::PrintDialog),
|
||||||
|
gvars(gvarsEnabled()),
|
||||||
|
gvarnum (0)
|
||||||
{
|
{
|
||||||
|
if (gvars) {
|
||||||
|
gvarnum=firmware->getCapability(Gvars);
|
||||||
|
}
|
||||||
|
|
||||||
ui->setupUi(this);
|
ui->setupUi(this);
|
||||||
this->setWindowIcon(CompanionIcon("print.png"));
|
this->setWindowIcon(CompanionIcon("print.png"));
|
||||||
te = ui->textEdit;
|
te = ui->textEdit;
|
||||||
|
|
||||||
setWindowTitle(tr("Setup for: ") + g_model->name);
|
setWindowTitle(tr("Setup for: ") + g_model->name);
|
||||||
ui->textEdit->clear();
|
te->clear();
|
||||||
QString modelname=g_model->name;
|
QString modelname=g_model->name;
|
||||||
if (modelname.isEmpty()) {
|
if (modelname.isEmpty()) {
|
||||||
curvefile5=QString("%1/curve5.png").arg(qd->tempPath());
|
curvefile5=QString("%1/curve5.png").arg(qd->tempPath());
|
||||||
|
@ -38,16 +44,6 @@ PrintDialog::PrintDialog(QWidget *parent, FirmwareInterface * firmware, GeneralS
|
||||||
curvefile9=QString("%1/%2-curve9.png").arg(qd->tempPath()).arg(modelname);
|
curvefile9=QString("%1/%2-curve9.png").arg(qd->tempPath()).arg(modelname);
|
||||||
}
|
}
|
||||||
printSetup();
|
printSetup();
|
||||||
int gvars=0;
|
|
||||||
if (firmware->getCapability(HasVariants)) {
|
|
||||||
if ((GetCurrentFirmwareVariant() & GVARS_VARIANT)) {
|
|
||||||
gvars=1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
gvars=1;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (gvars) {
|
if (gvars) {
|
||||||
te->append(printPhases()+"<br>");
|
te->append(printPhases()+"<br>");
|
||||||
}
|
}
|
||||||
|
@ -115,16 +111,8 @@ QString PrintDialog::fv(const QString name, const QString value)
|
||||||
|
|
||||||
void PrintDialog::printSetup()
|
void PrintDialog::printSetup()
|
||||||
{
|
{
|
||||||
int gvars=0;
|
|
||||||
if (firmware->getCapability(HasVariants)) {
|
|
||||||
if ((GetCurrentFirmwareVariant() & GVARS_VARIANT)) {
|
|
||||||
gvars=1;
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
gvars=1;
|
|
||||||
}
|
|
||||||
QString str = "<a name=1></a><table border=1 cellspacing=0 cellpadding=3 width=\"100%\">";
|
QString str = "<a name=1></a><table border=1 cellspacing=0 cellpadding=3 width=\"100%\">";
|
||||||
str.append(QString("<tr><td colspan=%1 ><table border=0 width=\"100%\"><tr><td><h1>").arg((firmware->getCapability(FlightPhases) && gvars==0) ? 2 : 1));
|
str.append(QString("<tr><td colspan=%1 ><table border=0 width=\"100%\"><tr><td><h1>").arg((firmware->getCapability(FlightPhases) && !gvars) ? 2 : 1));
|
||||||
str.append(g_model->name);
|
str.append(g_model->name);
|
||||||
str.append(" (");
|
str.append(" (");
|
||||||
str.append(firmware->getEepromInterface()->getName());
|
str.append(firmware->getEepromInterface()->getName());
|
||||||
|
@ -132,7 +120,7 @@ void PrintDialog::printSetup()
|
||||||
str.append("<tr><td><h2>"+tr("General Model Settings")+"</h2></td></tr>");
|
str.append("<tr><td><h2>"+tr("General Model Settings")+"</h2></td></tr>");
|
||||||
str.append("<tr><td>");
|
str.append("<tr><td>");
|
||||||
str.append(fv(tr("Name"), g_model->name));
|
str.append(fv(tr("Name"), g_model->name));
|
||||||
str.append("<b>"+tr("EEprom Size")+QString(": </b><font color=green>%1</font><br>").arg(firmware->getEepromInterface()->getSize(*g_model)));
|
str.append(fv(tr("EEprom Size"), QString("%1").arg(firmware->getEepromInterface()->getSize(*g_model))));
|
||||||
str.append(fv(tr("Timer1"), getTimerStr(g_model->timers[0]))); //value, mode, count up/down
|
str.append(fv(tr("Timer1"), getTimerStr(g_model->timers[0]))); //value, mode, count up/down
|
||||||
str.append(fv(tr("Timer2"), getTimerStr(g_model->timers[1]))); //value, mode, count up/down
|
str.append(fv(tr("Timer2"), getTimerStr(g_model->timers[1]))); //value, mode, count up/down
|
||||||
str.append(fv(tr("Protocol"), getProtocol(g_model))); //proto, numch, delay,
|
str.append(fv(tr("Protocol"), getProtocol(g_model))); //proto, numch, delay,
|
||||||
|
@ -154,17 +142,8 @@ void PrintDialog::printSetup()
|
||||||
|
|
||||||
QString PrintDialog::printPhases()
|
QString PrintDialog::printPhases()
|
||||||
{
|
{
|
||||||
int gvars=0;
|
|
||||||
int gvarnum=0;
|
|
||||||
if ((GetCurrentFirmwareVariant() & GVARS_VARIANT ) || (!firmware->getCapability(HasVariants) && firmware->getCapability(Gvars))) {
|
|
||||||
if (firmware->getCapability(GvarsFlightPhases)) {
|
|
||||||
gvars=1;
|
|
||||||
gvarnum=firmware->getCapability(Gvars);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
QString str="";
|
QString str="";
|
||||||
str.append(QString("<table border=1 cellspacing=0 cellpadding=3 width=\"100%\"><tr><td colspan=%1><h2>").arg(gvars==0 ? 8+firmware->getCapability(RotaryEncoders) : 8+gvarnum+firmware->getCapability(RotaryEncoders)));
|
str.append(QString("<table border=1 cellspacing=0 cellpadding=3 width=\"100%\"><tr><td colspan=%1><h2>").arg(!gvars ? 8+firmware->getCapability(RotaryEncoders) : 8+gvarnum+firmware->getCapability(RotaryEncoders)));
|
||||||
str.append(tr("Flight modes Settings"));
|
str.append(tr("Flight modes Settings"));
|
||||||
str.append("</h2></td></tr><tr><td style=\"border-style:none;\"> </td><td colspan=2 align=center><b>");
|
str.append("</h2></td></tr><tr><td style=\"border-style:none;\"> </td><td colspan=2 align=center><b>");
|
||||||
str.append(tr("Fades")+"</b></td>");
|
str.append(tr("Fades")+"</b></td>");
|
||||||
|
@ -175,14 +154,14 @@ QString PrintDialog::printPhases()
|
||||||
if (firmware->getCapability(RotaryEncoders)) {
|
if (firmware->getCapability(RotaryEncoders)) {
|
||||||
str.append(QString("<td colspan=%1 align=center><b>").arg(firmware->getCapability(RotaryEncoders))+tr("Rot.Enc.")+"</b></td>");
|
str.append(QString("<td colspan=%1 align=center><b>").arg(firmware->getCapability(RotaryEncoders))+tr("Rot.Enc.")+"</b></td>");
|
||||||
}
|
}
|
||||||
str.append("<td rowspan=2 align=\"center\" valign=\"bottom\"><b>"+tr("Switch")+"</b></td></tr><tr><td align=center width=\"90\"><b>"+tr("Flight mode name"));
|
str.append("<td rowspan=2 align=\"center\" valign=\"bottom\"><b>"+tr("Switch")+"</b></td></tr><tr><td align=center nowrap><b>"+tr("Flight mode name"));
|
||||||
str.append("</b></td><td align=center width=\"30\"><b>"+tr("IN")+"</b></td><td align=center width=\"30\"><b>"+tr("OUT")+"</b></td>");
|
str.append("</b></td><td align=center ><b>"+tr("IN")+"</b></td><td align=center ><b>"+tr("OUT")+"</b></td>");
|
||||||
for (int i=0; i<4; i++) {
|
for (int i=0; i<4; i++) {
|
||||||
str.append(QString("<td width=\"40\" align=\"center\"><b>%1</b></td>").arg(getInputStr(*g_model, i)));
|
str.append(QString("<td align=\"center\" nowrap><b>%1</b></td>").arg(getInputStr(*g_model, i)));
|
||||||
}
|
}
|
||||||
if (gvars==1) {
|
if (gvars) {
|
||||||
for (int i=0; i<gvarnum; i++) {
|
for (unsigned int i=0; i<gvarnum; i++) {
|
||||||
str.append(QString("<td width=\"40\" align=\"center\"><b>GV%1</b><br>%2</td>").arg(i+1).arg(g_model->gvars_names[i]));
|
str.append(QString("<td align=\"center\" nowrap><b>GV%1</b><br>%2</td>").arg(i+1).arg(g_model->gvars_names[i]));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
for (int i=0; i<firmware->getCapability(RotaryEncoders); i++) {
|
for (int i=0; i<firmware->getCapability(RotaryEncoders); i++) {
|
||||||
|
@ -191,23 +170,24 @@ QString PrintDialog::printPhases()
|
||||||
str.append("</tr>");
|
str.append("</tr>");
|
||||||
for (int i=0; i<firmware->getCapability(FlightPhases); i++) {
|
for (int i=0; i<firmware->getCapability(FlightPhases); i++) {
|
||||||
PhaseData *pd=&g_model->phaseData[i];
|
PhaseData *pd=&g_model->phaseData[i];
|
||||||
str.append("<tr><td><b>"+tr("FM")+QString("%1</b> <font size=+1 face='Courier New' color=green>%2</font></td><td width=\"30\" align=\"right\"><font size=+1 face='Courier New' color=green>%3</font></td><td width=\"30\" align=\"right\"><font size=+1 face='Courier New' color=green>%4</font></td>").arg(i).arg(pd->name).arg(pd->fadeIn).arg(pd->fadeOut));
|
str.append("<tr><td><b>"+tr("FM")+QString("%1</b> <font size=+1 face='Courier New' color=green>%2</font></td><td align=\"right\"><font size=+1 face='Courier New' color=green>%3</font></td><td width=\"30\" align=\"right\"><font size=+1 face='Courier New' color=green>%4</font></td>").arg(i).arg(pd->name).arg(pd->fadeIn).arg(pd->fadeOut));
|
||||||
for (int k=0; k<4; k++) {
|
for (int k=0; k<4; k++) {
|
||||||
|
//TODO trim values
|
||||||
if (pd->trimRef[k]==-1) {
|
if (pd->trimRef[k]==-1) {
|
||||||
str.append(QString("<td align=\"right\" width=\"30\"><font size=+1 face='Courier New' color=green>%1</font></td>").arg(pd->trim[k]));
|
str.append(QString("<td align=\"right\"><font size=+1 face='Courier New' color=green>%1</font></td>").arg(pd->trim[k]));
|
||||||
} else {
|
} else {
|
||||||
str.append("<td align=\"right\" width=\"30\"><font size=+1 face='Courier New' color=green>"+tr("FM")+QString("%1</font></td>").arg(pd->trimRef[k]));
|
str.append("<td align=\"right\" ><font size=+1 face='Courier New' color=green>"+tr("FM")+QString("%1</font></td>").arg(pd->trimRef[k]));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (gvars==1) {
|
if (gvars) {
|
||||||
for (int k=0; k<gvarnum; k++) {
|
for (unsigned int k=0; k<gvarnum; k++) {
|
||||||
if (pd->gvars[k]<=1024) {
|
if (pd->gvars[k]<=1024) {
|
||||||
str.append(QString("<td align=\"right\" width=\"30\"><font size=+1 face='Courier New' color=green>%1").arg(pd->gvars[k])+"</font></td>");
|
str.append(QString("<td align=\"right\"><font size=+1 face='Courier New' color=green>%1").arg(pd->gvars[k])+"</font></td>");
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
int num = pd->gvars[k] - 1025;
|
int num = pd->gvars[k] - 1025;
|
||||||
if (num>=i) num++;
|
if (num>=i) num++;
|
||||||
str.append("<td align=\"right\" width=\"30\"><font size=+1 face='Courier New' color=green>"+tr("FM")+QString("%1</font></td>").arg(num));
|
str.append("<td align=\"right\" ><font size=+1 face='Courier New' color=green>"+tr("FM")+QString("%1</font></td>").arg(num));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -231,7 +211,7 @@ QString PrintDialog::printPhases()
|
||||||
void PrintDialog::printExpo()
|
void PrintDialog::printExpo()
|
||||||
{
|
{
|
||||||
QString str = "<table border=1 cellspacing=0 cellpadding=3 width=\"100%\"><tr><td><h2>";
|
QString str = "<table border=1 cellspacing=0 cellpadding=3 width=\"100%\"><tr><td><h2>";
|
||||||
str.append(tr("Expo/Dr Settings"));
|
str.append(tr("Inputs"));
|
||||||
str.append("</h2></td></tr><tr><td><table border=0 cellspacing=0 cellpadding=3>");
|
str.append("</h2></td></tr><tr><td><table border=0 cellspacing=0 cellpadding=3>");
|
||||||
int ec=0;
|
int ec=0;
|
||||||
unsigned int lastCHN = 255;
|
unsigned int lastCHN = 255;
|
||||||
|
@ -262,8 +242,18 @@ void PrintDialog::printExpo()
|
||||||
break;
|
break;
|
||||||
};
|
};
|
||||||
|
|
||||||
str += tr("Weight") + QString("%1").arg(getGVarString(ed->weight,true)).rightJustified(6, ' ');
|
str += tr("Weight(") + QString("%1").arg(getGVarString(ed->weight,true)) + ")";
|
||||||
str += ed->curve.toString().replace("<", "<").replace(">", ">");
|
|
||||||
|
if (firmware->getCapability(VirtualInputs)) {
|
||||||
|
str += " " + tr("Source(%1)").arg(ed->srcRaw.toString());
|
||||||
|
if (ed->carryTrim>0) {
|
||||||
|
str += " " + tr("NoTrim");
|
||||||
|
}
|
||||||
|
else if (ed->carryTrim<0) {
|
||||||
|
str += " " + RawSource(SOURCE_TYPE_TRIM, (-(ed->carryTrim)-1)).toString();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (ed->curve.value) str += " " + Qt::escape(ed->curve.toString());
|
||||||
|
|
||||||
if (firmware->getCapability(FlightPhases)) {
|
if (firmware->getCapability(FlightPhases)) {
|
||||||
if(ed->phases) {
|
if(ed->phases) {
|
||||||
|
@ -303,12 +293,11 @@ void PrintDialog::printExpo()
|
||||||
}
|
}
|
||||||
if (ed->swtch.type)
|
if (ed->swtch.type)
|
||||||
str += " " + tr("Switch") + QString("(%1)").arg(ed->swtch.toString());
|
str += " " + tr("Switch") + QString("(%1)").arg(ed->swtch.toString());
|
||||||
str += ed->curve.toString().replace("<", "<").replace(">", ">");
|
|
||||||
if (firmware->getCapability(HasExpoNames)) {
|
if (firmware->getCapability(HasExpoNames)) {
|
||||||
QString ExpoName;
|
QString ExpoName;
|
||||||
ExpoName.append(ed->name);
|
ExpoName.append(ed->name);
|
||||||
if (!ExpoName.isEmpty()) {
|
if (!ExpoName.isEmpty()) {
|
||||||
str+=QString(" (%1)").arg(ExpoName);
|
str+= " " + QString(" [%1]").arg(ExpoName);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
str += "</font></td></tr>";
|
str += "</font></td></tr>";
|
||||||
|
@ -332,16 +321,22 @@ void PrintDialog::printMixes()
|
||||||
str.append("<tr><td><font size=+1 face='Courier New'><b>");
|
str.append("<tr><td><font size=+1 face='Courier New'><b>");
|
||||||
if(lastCHN!=md->destCh) {
|
if(lastCHN!=md->destCh) {
|
||||||
lastCHN=md->destCh;
|
lastCHN=md->destCh;
|
||||||
QString chname=tr("CH")+QString("%1 ").arg(lastCHN,2,10,QChar('0'));
|
|
||||||
|
QString chname = QObject::tr("CH%1").arg(lastCHN);
|
||||||
|
// TODO not nice, Qt brings a function for that, I don't remember right now
|
||||||
|
(chname.length() < 4) ? chname.append(" ") : chname.append(" ");
|
||||||
if (firmware->getCapability(HasChNames)) {
|
if (firmware->getCapability(HasChNames)) {
|
||||||
QString name=g_model->limitData[md->destCh-1].name;
|
QString name = g_model->limitData[lastCHN-1].name;
|
||||||
if (!name.isEmpty()) {
|
if (!name.isEmpty()) {
|
||||||
|
name = QString("(") + name + QString(")");
|
||||||
|
}
|
||||||
name.append(" ");
|
name.append(" ");
|
||||||
chname=name.left(6);
|
chname += name.left(8);
|
||||||
}
|
}
|
||||||
|
chname = Qt::escape(chname);
|
||||||
|
str.append(chname.replace(" ", " "));
|
||||||
}
|
}
|
||||||
str.append(chname);
|
else {
|
||||||
} else {
|
|
||||||
str.append(" ");
|
str.append(" ");
|
||||||
}
|
}
|
||||||
str.append("</b></font></td>");
|
str.append("</b></font></td>");
|
||||||
|
@ -351,57 +346,42 @@ void PrintDialog::printMixes()
|
||||||
case (2): str += " R"; break;
|
case (2): str += " R"; break;
|
||||||
default: str += " "; break;
|
default: str += " "; break;
|
||||||
};
|
};
|
||||||
str += QString(" %1").arg(getGVarString(md->weight, true)).rightJustified(6, ' ');
|
//set mixer src model if it is unset (srcRaw needs this to generate proper toString() for input source type)
|
||||||
str += md->srcRaw.toString();
|
if (md->srcRaw.model == 0)
|
||||||
if (md->swtch.type) str += " " + tr("Switch") + QString("(%1)").arg(md->swtch.toString());
|
md->srcRaw.model = g_model;
|
||||||
if (md->carryTrim) str += " " + tr("noTrim");
|
str += " " + md->srcRaw.toString();
|
||||||
if (md->sOffset) str += " "+ tr("Offset") + QString(" %1").arg(getGVarString(md->sOffset));
|
|
||||||
str += md->curve.toString().replace("<", "<").replace(">", ">");
|
str += " " + Qt::escape(tr("Weight(%1)").arg(getGVarString(md->weight, true)));
|
||||||
float scale=firmware->getCapability(SlowScale);
|
|
||||||
if (md->delayDown || md->delayUp) str += tr(" Delay(u%1:d%2)").arg(md->delayUp/scale).arg(md->delayDown/scale);
|
QString phasesStr = getPhasesStr(md->phases, *g_model);
|
||||||
if (md->speedDown || md->speedUp) str += tr(" Slow(u%1:d%2)").arg(md->speedUp/scale).arg(md->speedDown/scale);
|
if (!phasesStr.isEmpty()) str += " " + Qt::escape(phasesStr);
|
||||||
if (md->mixWarn) str += " "+tr("Warn")+QString("(%1)").arg(md->mixWarn);
|
|
||||||
if (firmware->getCapability(FlightPhases)) {
|
if (md->swtch.type != SWITCH_TYPE_NONE) {
|
||||||
if(md->phases) {
|
str += " " + Qt::escape(tr("Switch(%1)").arg(md->swtch.toString()));
|
||||||
if (md->phases!=(unsigned int)(1<<firmware->getCapability(FlightPhases))-1) {
|
|
||||||
int mask=1;
|
|
||||||
int first=0;
|
|
||||||
for (int i=0; i<firmware->getCapability(FlightPhases); i++) {
|
|
||||||
if (!(md->phases & mask)) {
|
|
||||||
first++;
|
|
||||||
}
|
|
||||||
mask <<=1;
|
|
||||||
}
|
|
||||||
if (first>1) {
|
|
||||||
str += " " + tr("Flight modes") + QString("(");
|
|
||||||
} else {
|
|
||||||
str += " " + tr("Flight mode") + QString("(");
|
|
||||||
}
|
|
||||||
mask=1;
|
|
||||||
first=1;
|
|
||||||
for (int j=0; j<firmware->getCapability(FlightPhases);j++) {
|
|
||||||
if (!(md->phases & mask)) {
|
|
||||||
PhaseData *pd = &g_model->phaseData[j];
|
|
||||||
if (!first) {
|
|
||||||
str += QString(", ")+ QString("%1").arg(getPhaseName(j+1, pd->name));
|
|
||||||
} else {
|
|
||||||
str += QString("%1").arg(getPhaseName(j+1,pd->name));
|
|
||||||
first=0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
mask <<=1;
|
|
||||||
}
|
|
||||||
str += QString(")");
|
|
||||||
} else {
|
|
||||||
str += tr("DISABLED")+QString(" !!!");
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (md->carryTrim) {
|
||||||
|
str += " " + Qt::escape(tr("NoTrim"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (md->noExpo) str += " " + Qt::escape(tr("No DR/Expo"));
|
||||||
|
if (md->sOffset) str += " " + Qt::escape(tr("Offset(%1)").arg(getGVarString(md->sOffset)));
|
||||||
|
if (md->curve.value) str += " " + Qt::escape(md->curve.toString());
|
||||||
|
|
||||||
|
|
||||||
|
int scale = firmware->getCapability(SlowScale);
|
||||||
|
if (scale == 0)
|
||||||
|
scale = 1;
|
||||||
|
if (md->delayDown || md->delayUp)
|
||||||
|
str += Qt::escape(tr(" Delay(u%1:d%2)").arg((double)md->delayUp/scale).arg((double)md->delayDown/scale));
|
||||||
|
if (md->speedDown || md->speedUp)
|
||||||
|
str += Qt::escape(tr(" Slow(u%1:d%2)").arg((double)md->speedUp/scale).arg((double)md->speedDown/scale));
|
||||||
|
if (md->mixWarn) str += Qt::escape(tr(" Warn(%1)").arg(md->mixWarn));
|
||||||
if (firmware->getCapability(HasMixerNames)) {
|
if (firmware->getCapability(HasMixerNames)) {
|
||||||
QString MixerName;
|
QString MixerName;
|
||||||
MixerName.append(md->name);
|
MixerName.append(md->name);
|
||||||
if (!MixerName.isEmpty()) {
|
if (!MixerName.isEmpty()) {
|
||||||
str+=QString(" (%1)").arg(MixerName);
|
str += " " + Qt::escape(QString("(%1)").arg(MixerName));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
str.append("</font></td></tr>");
|
str.append("</font></td></tr>");
|
||||||
|
@ -435,12 +415,12 @@ void PrintDialog::printLimits()
|
||||||
str.append("</tr>");
|
str.append("</tr>");
|
||||||
str.append("<tr><td><b>"+tr("Min")+"</b></td>");
|
str.append("<tr><td><b>"+tr("Min")+"</b></td>");
|
||||||
for(int i=0; i<firmware->getCapability(Outputs); i++) {
|
for(int i=0; i<firmware->getCapability(Outputs); i++) {
|
||||||
str.append(doTR(QString::number(g_model->limitData[i].min),"green"));
|
str.append(doTR(QString::number((qreal)g_model->limitData[i].min/10),"green"));
|
||||||
}
|
}
|
||||||
str.append("</tr>");
|
str.append("</tr>");
|
||||||
str.append("<tr><td><b>"+tr("Max")+"</b></td>");
|
str.append("<tr><td><b>"+tr("Max")+"</b></td>");
|
||||||
for(int i=0; i<firmware->getCapability(Outputs); i++) {
|
for(int i=0; i<firmware->getCapability(Outputs); i++) {
|
||||||
str.append(doTR(QString::number(g_model->limitData[i].max),"green"));
|
str.append(doTR(QString::number((qreal)g_model->limitData[i].max/10),"green"));
|
||||||
}
|
}
|
||||||
str.append("</tr>");
|
str.append("</tr>");
|
||||||
str.append("<tr><td><b>"+tr("Invert")+"</b></td>");
|
str.append("<tr><td><b>"+tr("Invert")+"</b></td>");
|
||||||
|
@ -465,12 +445,12 @@ void PrintDialog::printLimits()
|
||||||
str.append("</tr>");
|
str.append("</tr>");
|
||||||
str.append("<tr><td><b>"+tr("Min")+"</b></td>");
|
str.append("<tr><td><b>"+tr("Min")+"</b></td>");
|
||||||
for(int i=0; i<16; i++) {
|
for(int i=0; i<16; i++) {
|
||||||
str.append(doTR(QString::number(g_model->limitData[i].min),"green"));
|
str.append(doTR(QString::number((qreal)g_model->limitData[i].min/10),"green"));
|
||||||
}
|
}
|
||||||
str.append("</tr>");
|
str.append("</tr>");
|
||||||
str.append("<tr><td><b>"+tr("Max")+"</b></td>");
|
str.append("<tr><td><b>"+tr("Max")+"</b></td>");
|
||||||
for(int i=0; i<16; i++) {
|
for(int i=0; i<16; i++) {
|
||||||
str.append(doTR(QString::number(g_model->limitData[i].max),"green"));
|
str.append(doTR(QString::number((qreal)g_model->limitData[i].max/10),"green"));
|
||||||
}
|
}
|
||||||
str.append("</tr>");
|
str.append("</tr>");
|
||||||
str.append("<tr><td><b>"+tr("Invert")+"</b></td>");
|
str.append("<tr><td><b>"+tr("Invert")+"</b></td>");
|
||||||
|
@ -497,12 +477,12 @@ void PrintDialog::printLimits()
|
||||||
str.append("</tr>");
|
str.append("</tr>");
|
||||||
str.append("<tr><td><b>"+tr("Min")+"</b></td>");
|
str.append("<tr><td><b>"+tr("Min")+"</b></td>");
|
||||||
for(int i=16; i<firmware->getCapability(Outputs); i++) {
|
for(int i=16; i<firmware->getCapability(Outputs); i++) {
|
||||||
str.append(doTR(QString::number(g_model->limitData[i].min),"green"));
|
str.append(doTR(QString::number((qreal)g_model->limitData[i].min/10),"green"));
|
||||||
}
|
}
|
||||||
str.append("</tr>");
|
str.append("</tr>");
|
||||||
str.append("<tr><td><b>"+tr("Max")+"</b></td>");
|
str.append("<tr><td><b>"+tr("Max")+"</b></td>");
|
||||||
for(int i=16; i<firmware->getCapability(Outputs); i++) {
|
for(int i=16; i<firmware->getCapability(Outputs); i++) {
|
||||||
str.append(doTR(QString::number(g_model->limitData[i].max),"green"));
|
str.append(doTR(QString::number((qreal)g_model->limitData[i].max/10),"green"));
|
||||||
}
|
}
|
||||||
str.append("</tr>");
|
str.append("</tr>");
|
||||||
str.append("<tr><td><b>"+tr("Invert")+"</b></td>");
|
str.append("<tr><td><b>"+tr("Invert")+"</b></td>");
|
||||||
|
@ -633,11 +613,8 @@ void PrintDialog::printSwitches()
|
||||||
for (int i=0; i<firmware->getCapability(LogicalSwitches); i++) {
|
for (int i=0; i<firmware->getCapability(LogicalSwitches); i++) {
|
||||||
if (g_model->customSw[i].func) {
|
if (g_model->customSw[i].func) {
|
||||||
str.append("<tr>");
|
str.append("<tr>");
|
||||||
if (i<9) {
|
str.append("<td width=\"60\" align=\"center\"><b>"+tr("L")+QString("%1</b></td>").arg(i+1));
|
||||||
str.append("<td width=\"60\" align=\"center\"><b>"+tr("LS")+QString("%1</b></td>").arg(i+1));
|
if (i < 9) str += " ";
|
||||||
} else {
|
|
||||||
str.append("<td width=\"60\" align=\"center\"><b>"+tr("LS")+('A'+(i-9))+"</b></td>");
|
|
||||||
}
|
|
||||||
QString tstr = g_model->customSw[i].toString(*g_model);
|
QString tstr = g_model->customSw[i].toString(*g_model);
|
||||||
str.append(doTC(tstr,"green"));
|
str.append(doTC(tstr,"green"));
|
||||||
str.append("</tr>");
|
str.append("</tr>");
|
||||||
|
@ -652,25 +629,19 @@ void PrintDialog::printSwitches()
|
||||||
|
|
||||||
void PrintDialog::printGvars()
|
void PrintDialog::printGvars()
|
||||||
{
|
{
|
||||||
int gvars=0;
|
if (!firmware->getCapability(GvarsFlightPhases) && (gvars && firmware->getCapability(Gvars))) {
|
||||||
int gvarnum=0;
|
|
||||||
if ((GetCurrentFirmwareVariant() & GVARS_VARIANT ) || (!firmware->getCapability(HasVariants) && firmware->getCapability(Gvars))) {
|
|
||||||
gvars=1;
|
|
||||||
gvarnum=firmware->getCapability(Gvars);
|
|
||||||
}
|
|
||||||
if (!firmware->getCapability(GvarsFlightPhases) && (gvars==1 && firmware->getCapability(Gvars))) {
|
|
||||||
QString str = "<table border=1 cellspacing=0 cellpadding=3 width=\"100%\">";
|
QString str = "<table border=1 cellspacing=0 cellpadding=3 width=\"100%\">";
|
||||||
str.append("<tr><td><h2>"+tr("Global Variables")+"</h2></td></tr>");
|
str.append("<tr><td><h2>"+tr("Global Variables")+"</h2></td></tr>");
|
||||||
str.append("<tr><td><table border=1 cellspacing=0 cellpadding=3 width=100>");
|
str.append("<tr><td><table border=1 cellspacing=0 cellpadding=3 width=100>");
|
||||||
PhaseData *pd=&g_model->phaseData[0];
|
PhaseData *pd=&g_model->phaseData[0];
|
||||||
int width=100/gvarnum;
|
int width=100/gvarnum;
|
||||||
str.append("<tr>");
|
str.append("<tr>");
|
||||||
for(int i=0; i<gvarnum; i++) {
|
for(unsigned int i=0; i<gvarnum; i++) {
|
||||||
str.append(QString("<td width=\"%1%\" align=\"center\"><b>").arg(width)+tr("GV")+QString("%1</b></td>").arg(i+1));
|
str.append(QString("<td width=\"%1%\" align=\"center\"><b>").arg(width)+tr("GV")+QString("%1</b></td>").arg(i+1));
|
||||||
}
|
}
|
||||||
str.append("</tr>");
|
str.append("</tr>");
|
||||||
str.append("<tr>");
|
str.append("<tr>");
|
||||||
for(int i=0; i<gvarnum; i++) {
|
for(unsigned int i=0; i<gvarnum; i++) {
|
||||||
str.append(QString("<td width=\"%1%\" align=\"center\"><font color=green>").arg(width)+QString("%1</font></td>").arg(pd->gvars[i]));
|
str.append(QString("<td width=\"%1%\" align=\"center\"><font color=green>").arg(width)+QString("%1</font></td>").arg(pd->gvars[i]));
|
||||||
}
|
}
|
||||||
str.append("</tr>");
|
str.append("</tr>");
|
||||||
|
|
|
@ -28,6 +28,8 @@ public:
|
||||||
|
|
||||||
private:
|
private:
|
||||||
Ui::PrintDialog *ui;
|
Ui::PrintDialog *ui;
|
||||||
|
bool gvars;
|
||||||
|
unsigned int gvarnum;
|
||||||
|
|
||||||
void printSetup();
|
void printSetup();
|
||||||
QString printPhases();
|
QString printPhases();
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue