diff --git a/ChangeLog.txt b/ChangeLog.txt
index e9c1063..87c28cc 100644
--- a/ChangeLog.txt
+++ b/ChangeLog.txt
@@ -3,6 +3,7 @@ CatRadio
(+ New, * Updated, - Removed)
1.4.0 - 2022-mm-dd
+ + Debug mode
* Bug fix: COM port list
* Updated to library Hamlib 4.5.4
diff --git a/dialogsetup.cpp b/dialogsetup.cpp
index 0f88d4b..399e71e 100644
--- a/dialogsetup.cpp
+++ b/dialogsetup.cpp
@@ -20,6 +20,7 @@ DialogSetup::DialogSetup(QWidget *parent) :
if (guiConf.vfoDisplayMode) ui->radioButton_vfoDispMode_UD->setChecked(true);
if (guiConf.darkTheme) ui->radioButton_themeDark->setChecked(true);
if (guiConf.peakHold) ui->checkBox_peakHold->setChecked(true);
+ if (guiConf.debugMode) ui->checkBox_debug->setChecked(true);
}
DialogSetup::~DialogSetup()
@@ -41,10 +42,12 @@ void DialogSetup::on_buttonBox_accepted()
guiConf.vfoDisplayMode = ui->radioButton_vfoDispMode_UD->isChecked();
guiConf.darkTheme = ui->radioButton_themeDark->isChecked();
+ guiConf.debugMode = ui->checkBox_debug->isChecked();
//* Save settings in catradio.ini
QSettings configFile(QString("catradio.ini"), QSettings::IniFormat);
configFile.setValue("vfoDisplayMode", guiConf.vfoDisplayMode);
configFile.setValue("darkTheme", guiConf.darkTheme);
configFile.setValue("peakHold", guiConf.peakHold);
+ configFile.setValue("debugMode", guiConf.debugMode);
}
diff --git a/dialogsetup.ui b/dialogsetup.ui
index 870cb18..1ebb60c 100644
--- a/dialogsetup.ui
+++ b/dialogsetup.ui
@@ -40,6 +40,19 @@
+ -
+
+
+ Qt::Vertical
+
+
+
+ 20
+ 40
+
+
+
+
-
@@ -88,20 +101,7 @@
- -
-
-
- Qt::Vertical
-
-
-
- 20
- 40
-
-
-
-
- -
+
-
Qt::Horizontal
@@ -111,6 +111,13 @@
+ -
+
+
+ Debug mode (developers only)
+
+
+
diff --git a/guidata.h b/guidata.h
index 903f80f..d6c794a 100644
--- a/guidata.h
+++ b/guidata.h
@@ -8,6 +8,7 @@ typedef struct {
int vfoDisplayMode; //0: use Left/Right mouse button, 1: click digit Up or Down
bool darkTheme; //flag for Dark theme
bool peakHold; //meters peak hold
+ bool debugMode;
} guiConfig;
diff --git a/mainwindow.cpp b/mainwindow.cpp
index d111891..23c942b 100644
--- a/mainwindow.cpp
+++ b/mainwindow.cpp
@@ -79,14 +79,6 @@ MainWindow::MainWindow(QWidget *parent)
timer = new QTimer(this); //timer for rigDaemon thread call
- //* Debug
- rig_set_debug_level(RIG_DEBUG_WARN); //normal
- //rig_set_debug_level(RIG_DEBUG_VERBOSE); //debug verbose
- //rig_set_debug_level(RIG_DEBUG_TRACE); //debug trace
- rig_set_debug_time_stamp(true);
- if ((debugFile=fopen("catradio.log","w+")) == NULL) rig_set_debug_level(RIG_DEBUG_NONE);
- else rig_set_debug_file(debugFile);
-
//* Signal and Slot connection for Slider and associated Label
connect(ui->verticalSlider_RFpower, &QAbstractSlider::valueChanged, ui->label_RFpowerValue, QOverload::of(&QLabel::setNum));
connect(ui->verticalSlider_RFgain, &QAbstractSlider::valueChanged, ui->label_RFgainValue, QOverload::of(&QLabel::setNum));
@@ -121,10 +113,20 @@ MainWindow::MainWindow(QWidget *parent)
guiConf.vfoDisplayMode = configFile.value("vfoDisplayMode", 0).toInt();
guiConf.darkTheme = configFile.value("darkTheme", false).toBool();
guiConf.peakHold = configFile.value("peakHold", true).toBool();
+ guiConf.debugMode = configFile.value("debugMode", false).toBool();
//Window settings
restoreGeometry(configFile.value("WindowSettings/geometry").toByteArray());
restoreState(configFile.value("WindowSettings/state").toByteArray());
+ //* Debug
+ if (guiConf.debugMode) rig_set_debug_level(RIG_DEBUG_VERBOSE); //debug verbose
+ else rig_set_debug_level(RIG_DEBUG_WARN); //normal
+ //rig_set_debug_level(RIG_DEBUG_VERBOSE); //debug verbose
+ //rig_set_debug_level(RIG_DEBUG_TRACE); //debug trace
+ rig_set_debug_time_stamp(true);
+ if ((debugFile=fopen("catradio.log","w+")) == NULL) rig_set_debug_level(RIG_DEBUG_NONE);
+ else rig_set_debug_file(debugFile);
+
//* Style
//ui->pushButton_PTT->setStyleSheet("QPushButton::checked {font: bold; color: red;}");
@@ -360,7 +362,7 @@ void MainWindow::guiInit()
//}
//* Menu
- //ui->action_Command->setEnabled(true);
+ ui->action_Command->setEnabled(true);
ui->action_RadioInfo->setEnabled(true);
guiCmd.rangeList = 1; //update range list