diff --git a/prefs.h b/prefs.h index bf7822e..0c8bfeb 100644 --- a/prefs.h +++ b/prefs.h @@ -36,7 +36,8 @@ enum prefIfItem { if_showBands = 1 << 23, if_separators = 1 << 24, if_forceVfoMode = 1 << 25, - if_all = 1 << 26 + if_autoPowerOn = 1 << 26, + if_all = 1 << 27 }; enum prefColItem { @@ -268,7 +269,7 @@ struct preferences { QChar decimalSeparator; QChar groupSeparator; bool forceVfoMode; - + bool autoPowerOn; }; #endif // PREFS_H diff --git a/settingswidget.cpp b/settingswidget.cpp index f19a252..fd5c992 100644 --- a/settingswidget.cpp +++ b/settingswidget.cpp @@ -586,6 +586,9 @@ void settingswidget::updateIfPref(prefIfItem pif) case if_forceVfoMode: quietlyUpdateCheckbox(ui->forceVfoModeChk,prefs->forceVfoMode); break; + case if_autoPowerOn: + quietlyUpdateCheckbox(ui->autoPowerOnChk,prefs->autoPowerOn); + break; default: qWarning(logGui()) << "Did not understand if pref update item " << (int)pif; break; @@ -2366,6 +2369,12 @@ void settingswidget::on_forceVfoModeChk_clicked(bool checked) emit changedIfPref(if_forceVfoMode); } +void settingswidget::on_autoPowerOnChk_clicked(bool checked) +{ + prefs->autoPowerOn = checked; + emit changedIfPref(if_autoPowerOn); +} + /* End of radio specific settings */ diff --git a/settingswidget.h b/settingswidget.h index dcc584c..264dac8 100644 --- a/settingswidget.h +++ b/settingswidget.h @@ -289,6 +289,7 @@ private slots: void on_groupSeparatorsCombo_currentIndexChanged(int index); void on_forceVfoModeChk_clicked(bool checked); + void on_autoPowerOnChk_clicked(bool checked); void on_networkConnectionTypeCombo_currentIndexChanged(int index); diff --git a/settingswidget.ui b/settingswidget.ui index 1b55c17..2f00aaf 100644 --- a/settingswidget.ui +++ b/settingswidget.ui @@ -1082,7 +1082,17 @@ ONLY use Manual CI-V when Transceive mode is not supported - Force VFO Mode (if disabled, we will not know current mode) + Force VFO Mode + + + true + + + + + + + Auto Power-on radio true diff --git a/wfmain.cpp b/wfmain.cpp index 75c2638..7290bdb 100644 --- a/wfmain.cpp +++ b/wfmain.cpp @@ -706,9 +706,12 @@ void wfmain::receiveCommReady() } } - // After 2s send powerOn command - QTimer::singleShot(2000, rig, SLOT(powerOn())); - //emit sendPowerOn(); + if (prefs.autoPowerOn) + { + // After 2s send powerOn command + QTimer::singleShot(2000, rig, SLOT(powerOn())); + + } } void wfmain::receivePortError(errorType err) @@ -1706,6 +1709,7 @@ void wfmain::setDefPrefs() defPrefs.useUTC = false; defPrefs.setRadioTime = false; defPrefs.forceVfoMode = true; + defPrefs.autoPowerOn=true; defPrefs.tcpPort = 0; defPrefs.tciPort = 50001; @@ -1795,6 +1799,7 @@ void wfmain::loadSettings() prefs.decimalSeparator = settings->value("DecimalSeparator", defPrefs.decimalSeparator).toChar(); prefs.groupSeparator = settings->value("GroupSeparator", defPrefs.groupSeparator).toChar(); prefs.forceVfoMode = settings->value("ForceVfoMode", defPrefs.groupSeparator).toBool(); + prefs.autoPowerOn = settings->value("AutoPowerOn", defPrefs.autoPowerOn).toBool(); prefs.drawPeaks = settings->value("DrawPeaks", defPrefs.drawPeaks).toBool(); prefs.underlayBufferSize = settings->value("underlayBufferSize", defPrefs.underlayBufferSize).toInt(); @@ -3188,6 +3193,7 @@ void wfmain::saveSettings() settings->setValue("GroupSeparator",prefs.groupSeparator); settings->setValue("DecimalSeparator",prefs.decimalSeparator); settings->setValue("ForceVfoMode",prefs.forceVfoMode); + settings->setValue("AutoPowerOn",prefs.autoPowerOn); settings->endGroup();