diff --git a/companion/src/helpers.cpp b/companion/src/helpers.cpp index caf0df9e6..9390776c0 100644 --- a/companion/src/helpers.cpp +++ b/companion/src/helpers.cpp @@ -186,14 +186,14 @@ GVarGroup::GVarGroup(QCheckBox *weightGV, QAbstractSpinBox *weightSB, QComboBox } if (sb) { - sb->setMinimum(step*mini); - sb->setMaximum(step*maxi); - sb->setValue(step*val); + sb->setMinimum(mini); + sb->setMaximum(maxi); + sb->setValue(val); } else { - dsb->setMinimum(step*mini); - dsb->setMaximum(step*maxi); - dsb->setValue(step*val); + dsb->setMinimum(mini*step); + dsb->setMaximum(maxi*step); + dsb->setValue(val*step); } connect(weightSB, SIGNAL(editingFinished()), this, SLOT(valuesChanged())); @@ -217,7 +217,7 @@ void GVarGroup::valuesChanged() if (weightGV->isChecked()) weight = weightCB->itemData(weightCB->currentIndex()).toInt(); else if (sb) - weight = sb->value()/step; + weight = sb->value(); else weight = dsb->value()/step; } @@ -1024,7 +1024,6 @@ QString index2version(int index) int qunlink(const QString & fileName) { - qDebug() << "unlinking "<< fileName; QByteArray ba = fileName.toLatin1(); return unlink(ba.constData()); } diff --git a/companion/src/helpers.h b/companion/src/helpers.h index c05cdb8f0..0125e2252 100644 --- a/companion/src/helpers.h +++ b/companion/src/helpers.h @@ -42,7 +42,7 @@ class GVarGroup: public QObject { Q_OBJECT public: - GVarGroup(QCheckBox *weightGV, QAbstractSpinBox *weightSB, QComboBox *weightCB, int & weight, const int deflt, const int mini, const int maxi, const double step=1, bool allowGVars=true); + GVarGroup(QCheckBox *weightGV, QAbstractSpinBox *weightSB, QComboBox *weightCB, int & weight, const int deflt, const int mini, const int maxi, const double step=1.0, bool allowGVars=true); protected slots: void gvarCBChanged(int); diff --git a/companion/src/modeledit/channels.cpp b/companion/src/modeledit/channels.cpp index 2e3e3239b..aee91ee44 100644 --- a/companion/src/modeledit/channels.cpp +++ b/companion/src/modeledit/channels.cpp @@ -11,17 +11,17 @@ LimitsGroup::LimitsGroup(FirmwareInterface * firmware, QGridLayout *gridLayout, firmware(firmware), spinbox(new QDoubleSpinBox()), value(value), - step(1.0) + displayStep(0.1) { - bool allowGVars = false; + int internalStep = 1; spinbox->setProperty("index", row); spinbox->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter); spinbox->setAccelerated(true); if (firmware->getCapability(PPMUnitMicroseconds)) { - step = 5.12; + displayStep = 0.512; spinbox->setDecimals(1); spinbox->setSuffix("us"); } @@ -31,15 +31,14 @@ LimitsGroup::LimitsGroup(FirmwareInterface * firmware, QGridLayout *gridLayout, } if (IS_TARANIS(firmware->getBoard()) || deflt == 0 /*it's the offset*/) { - min *= 10; - max *= 10; - deflt *= 10; - step /= 10; spinbox->setDecimals(1); allowGVars = true; } - - spinbox->setSingleStep(step); + else { + internalStep *= 10; + } + + spinbox->setSingleStep(displayStep*internalStep); QHBoxLayout * horizontalLayout = new QHBoxLayout(); QCheckBox * gv = new QCheckBox(QObject::tr("GV")); @@ -48,7 +47,7 @@ LimitsGroup::LimitsGroup(FirmwareInterface * firmware, QGridLayout *gridLayout, horizontalLayout->addWidget(cb); horizontalLayout->addWidget(spinbox); gridLayout->addLayout(horizontalLayout, row, col, 1, 1); - gvarGroup = new GVarGroup(gv, spinbox, cb, value, deflt, min, max, step, allowGVars); + gvarGroup = new GVarGroup(gv, spinbox, cb, value, deflt, min, max, displayStep, allowGVars); } LimitsGroup::~LimitsGroup() @@ -58,17 +57,14 @@ LimitsGroup::~LimitsGroup() void LimitsGroup::updateMinMax(int max) { - if (IS_TARANIS(firmware->getBoard())) { - max *= 10; - } if (spinbox->maximum() == 0) { - spinbox->setMinimum(-step*max); + spinbox->setMinimum(-max*displayStep); if (value < -max) { value = -max; } } if (spinbox->minimum() == 0) { - spinbox->setMaximum(step*max); + spinbox->setMaximum(max*displayStep); if (value > max) { value = max; } @@ -120,13 +116,13 @@ Channels::Channels(QWidget * parent, ModelData & model, GeneralSettings & genera } // Channel offset - limitsGroups << new LimitsGroup(firmware, gridLayout, i+1, col++, model.limitData[i].offset, -100, 100, 0); + limitsGroups << new LimitsGroup(firmware, gridLayout, i+1, col++, model.limitData[i].offset, -1000, 1000, 0); // Channel min - limitsGroups << new LimitsGroup(firmware, gridLayout, i+1, col++, model.limitData[i].min, -model.getChannelsMax(), 0, -100); + limitsGroups << new LimitsGroup(firmware, gridLayout, i+1, col++, model.limitData[i].min, -model.getChannelsMax()*10, 0, -1000); // Channel max - limitsGroups << new LimitsGroup(firmware, gridLayout, i+1, col++, model.limitData[i].max, 0, model.getChannelsMax(), 100); + limitsGroups << new LimitsGroup(firmware, gridLayout, i+1, col++, model.limitData[i].max, 0, model.getChannelsMax()*10, 1000); // Channel inversion QComboBox * invCB = new QComboBox(this); @@ -212,7 +208,7 @@ void Channels::refreshExtendedLimits() int channelMax = model.getChannelsMax(); foreach(LimitsGroup *group, limitsGroups) { - group->updateMinMax(channelMax); + group->updateMinMax(10*channelMax); } emit modified(); diff --git a/companion/src/modeledit/channels.h b/companion/src/modeledit/channels.h index 767d646dd..94aa6f20b 100644 --- a/companion/src/modeledit/channels.h +++ b/companion/src/modeledit/channels.h @@ -19,7 +19,7 @@ class LimitsGroup QDoubleSpinBox * spinbox; GVarGroup * gvarGroup; int & value; - double step; + double displayStep; }; class Channels : public ModelPanel