/** Read receiver configuration from settings data. */ void DockRxOpt::readSettings(QSettings *settings) { bool conv_ok; int intVal; intVal = settings->value("receiver/demod", 0).toInt(&conv_ok); if (intVal >= 0) { setCurrentDemod(intVal); emit demodSelected(intVal); } intVal = settings->value("receiver/cwoffset", 700).toInt(&conv_ok); if (conv_ok) { demodOpt->setCwOffset(intVal); demodOpt_cwOffsetChanged(intVal); } qint64 offs = settings->value("receiver/offset", 0).toInt(&conv_ok); if (offs) { setFilterOffset(offs); emit filterOffsetChanged(offs); } double dblVal = settings->value("receiver/sql_level", 1.0).toDouble(&conv_ok); if (conv_ok && dblVal < 1.0) { //ui->sqlSlider->setValue(intVal); // signal emitted automatically ui->sqlSpinBox->setValue(dblVal); } }
/** Read receiver configuration from settings data. */ void DockRxOpt::readSettings(QSettings *settings) { bool conv_ok; int int_val; double dbl_val; bool bool_val = settings->value("gui/fctl_reset_digits", true).toBool(); ui->filterFreq->setResetLowerDigits(bool_val); int_val = settings->value("receiver/cwoffset", 700).toInt(&conv_ok); if (conv_ok) demodOpt->setCwOffset(int_val); int_val = settings->value("receiver/fm_maxdev", 2500).toInt(&conv_ok); if (conv_ok) demodOpt->setMaxDev(int_val); dbl_val = settings->value("receiver/fm_deemph", 75).toDouble(&conv_ok); if (conv_ok && dbl_val >= 0) demodOpt->setEmph(1.0e-6 * dbl_val); // was stored as usec qint64 offs = settings->value("receiver/offset", 0).toInt(&conv_ok); if (offs) { setFilterOffset(offs); emit filterOffsetChanged(offs); } dbl_val = settings->value("receiver/sql_level", 1.0).toDouble(&conv_ok); if (conv_ok && dbl_val < 1.0) ui->sqlSpinBox->setValue(dbl_val); // AGC settings int_val = settings->value("receiver/agc_threshold", -100).toInt(&conv_ok); if (conv_ok) agcOpt->setThreshold(int_val); int_val = settings->value("receiver/agc_decay", 500).toInt(&conv_ok); if (conv_ok) { agcOpt->setDecay(int_val); if (int_val == 100) ui->agcPresetCombo->setCurrentIndex(0); else if (int_val == 500) ui->agcPresetCombo->setCurrentIndex(1); else if (int_val == 2000) ui->agcPresetCombo->setCurrentIndex(2); else ui->agcPresetCombo->setCurrentIndex(3); } int_val = settings->value("receiver/agc_slope", 0).toInt(&conv_ok); if (conv_ok) agcOpt->setSlope(int_val); int_val = settings->value("receiver/agc_gain", 0).toInt(&conv_ok); if (conv_ok) agcOpt->setGain(int_val); agcOpt->setHang(settings->value("receiver/agc_usehang", false).toBool()); if (settings->value("receiver/agc_off", false).toBool()) ui->agcPresetCombo->setCurrentIndex(4); int_val = settings->value("receiver/demod", 0).toInt(&conv_ok); if (int_val >= 0) { setCurrentDemod(int_val); emit demodSelected(int_val); } }