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();