Improved Radio Configuration Dialog

#11
1.2.0
PianetaRadio 2022-04-11 20:02:37 +02:00 zatwierdzone przez GitHub
rodzic 2e7641f8f4
commit ac85aefff8
Nie znaleziono w bazie danych klucza dla tego podpisu
ID klucza GPG: 4AEE18F83AFDEB23
6 zmienionych plików z 95 dodań i 42 usunięć

Wyświetl plik

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE QtCreatorProject> <!DOCTYPE QtCreatorProject>
<!-- Written by QtCreator 6.0.2, 2022-04-08T17:56:59. --> <!-- Written by QtCreator 6.0.2, 2022-04-11T19:09:53. -->
<qtcreator> <qtcreator>
<data> <data>
<variable>EnvironmentId</variable> <variable>EnvironmentId</variable>

Wyświetl plik

@ -7,7 +7,8 @@ CatRadio
+ Up/Down VFO buttons + Up/Down VFO buttons
+ Repeater shift offset + Repeater shift offset
+ DCS code and squelch + DCS code and squelch
+ COM port list in the communication config dialog + COM port list in the Radio Config Dialog
* Improved Radio Config Dialog
* Bug fix: address the proper VFO red during Tx * Bug fix: address the proper VFO red during Tx
* Bug correction: IF shift slider now correctly updated * Bug correction: IF shift slider now correctly updated
* Bug fix: CW/FM tab autofocus freeze * Bug fix: CW/FM tab autofocus freeze

Wyświetl plik

@ -24,6 +24,7 @@
#include <QFile> #include <QFile>
#include <QTextStream> #include <QTextStream>
#include <QSerialPortInfo> #include <QSerialPortInfo>
#include <QMessageBox>
#include "rigdata.h" #include "rigdata.h"
@ -85,15 +86,14 @@ DialogConfig::DialogConfig(QWidget *parent) :
ui->comboBox_serialSpeed->addItem("115200"); ui->comboBox_serialSpeed->addItem("115200");
//* Update values in the GUI //* Update values in the GUI
ui->comboBox_rigModel->setCurrentIndex(ui->comboBox_rigModel->findText(QString::number(rigCom.rigModel),Qt::MatchStartsWith));
if (rigCom.netRigctl) if (rigCom.netRigctl)
{ {
ui->checkBox_netRigctl->setChecked(rigCom.netRigctl); ui->checkBox_netRigctl->setChecked(rigCom.netRigctl);
ui->lineEdit_ip->setText(rigCom.rigPort); ui->lineEdit_ip->setText(rigCom.rigPort);
ui->comboBox_rigModel->setCurrentIndex(0);
} }
else else
{ {
ui->comboBox_rigModel->setCurrentIndex(ui->comboBox_rigModel->findText(QString::number(rigCom.rigModel),Qt::MatchStartsWith));
ui->comboBox_comPort->setCurrentText(rigCom.rigPort); ui->comboBox_comPort->setCurrentText(rigCom.rigPort);
ui->comboBox_serialSpeed->setCurrentText(QString::number(rigCom.serialSpeed)); ui->comboBox_serialSpeed->setCurrentText(QString::number(rigCom.serialSpeed));
if (rigCom.civAddr) ui->lineEdit_civAddr->setText(QString::number(rigCom.civAddr,16)); if (rigCom.civAddr) ui->lineEdit_civAddr->setText(QString::number(rigCom.civAddr,16));
@ -112,23 +112,56 @@ void DialogConfig::on_buttonBox_accepted()
bool civAddrConv; bool civAddrConv;
//* Read settings from GUI //* Read settings from GUI
if (ui->checkBox_netRigctl->isChecked()) if (ui->comboBox_rigModel->currentText() == "") //No backend selected
{ {
rigCom.rigModel = 2; QMessageBox msgBox; //Show error MessageBox
rigCom.netRigctl = true; msgBox.setWindowTitle("Warning");
rigCom.rigPort = ui->lineEdit_ip->text(); msgBox.setText("Rig model not selected");
msgBox.setIcon(QMessageBox::Warning);
msgBox.setStandardButtons(QMessageBox::Ok);
msgBox.exec();
} }
else else
{ {
QString rigModel = ui->comboBox_rigModel->currentText(); QString rigModel = ui->comboBox_rigModel->currentText();
QRegularExpression regexp("[0-9]+"); QRegularExpression regexp("[0-9]+");
QRegularExpressionMatch rigNumber = regexp.match(rigModel); QRegularExpressionMatch rigNumber = regexp.match(rigModel);
rigCom.rigModel = rigNumber.captured(0).toInt(); rigCom.rigModel = rigNumber.captured(0).toInt();
rigCom.rigPort = ui->comboBox_comPort->currentText(); if (ui->checkBox_netRigctl->isChecked()) //TCP port
rigCom.serialSpeed = ui->comboBox_serialSpeed->currentText().toInt(); {
rigCom.civAddr = ui->lineEdit_civAddr->text().toInt(&civAddrConv,16); rigCom.netRigctl = true;
rigCom.rigPort = ui->lineEdit_ip->text();
if (rigCom.rigPort == "")
{
QMessageBox msgBox; //Show error MessageBox
msgBox.setWindowTitle("Warning");
msgBox.setText(rigModel + "\nIP address not valid");
msgBox.setIcon(QMessageBox::Warning);
msgBox.setStandardButtons(QMessageBox::Ok);
msgBox.exec();
}
}
else //COM port
{
rigCom.netRigctl = false;
rigCom.rigPort = ui->comboBox_comPort->currentText();
rigCom.serialSpeed = ui->comboBox_serialSpeed->currentText().toInt();
rigCom.civAddr = ui->lineEdit_civAddr->text().toInt(&civAddrConv,16);
if (rigCom.rigPort == "" && rigCom.rigModel != 1 && rigCom.rigModel != 6)
{
QMessageBox msgBox; //Show error MessageBox
msgBox.setWindowTitle("Warning");
msgBox.setText(rigModel + "\nCOM port not valid");
msgBox.setIcon(QMessageBox::Warning);
msgBox.setStandardButtons(QMessageBox::Ok);
msgBox.exec();
}
}
} }
rigCom.rigRefresh = ui->spinBox_RefreshRate->value(); rigCom.rigRefresh = ui->spinBox_RefreshRate->value();
rigCom.fullPoll = ui->checkBox_fullPoll->isChecked(); rigCom.fullPoll = ui->checkBox_fullPoll->isChecked();
@ -153,14 +186,26 @@ int printRigList(const struct rig_caps *rigCaps, void *data) //Load rig list
void DialogConfig::on_checkBox_netRigctl_toggled(bool checked) void DialogConfig::on_checkBox_netRigctl_toggled(bool checked)
{ {
if (checked) if (checked) //TCP port
{ {
ui->comboBox_rigModel->setCurrentIndex(2); //set NET rigctl ui->comboBox_comPort->setCurrentText(""); //clear COM port
ui->comboBox_comPort->setCurrentText("");
} }
else else //COM port
{ {
ui->comboBox_rigModel->setCurrentIndex(0); //set void
ui->lineEdit_ip->setText(""); //clear IP address ui->lineEdit_ip->setText(""); //clear IP address
} }
} }
void DialogConfig::on_comboBox_rigModel_currentIndexChanged(int index)
{
if (index == 2 || index == 3 || index == 4)
{
ui->checkBox_netRigctl->setChecked(true);
ui->tabWidget_Config->setCurrentIndex(1);
}
}
void DialogConfig::on_comboBox_comPort_currentIndexChanged(int index)
{
if (index) ui->checkBox_netRigctl->setChecked(false); //uncheck TCP
}

Wyświetl plik

@ -39,6 +39,10 @@ private slots:
void on_checkBox_netRigctl_toggled(bool checked); void on_checkBox_netRigctl_toggled(bool checked);
void on_comboBox_rigModel_currentIndexChanged(int index);
void on_comboBox_comPort_currentIndexChanged(int index);
private: private:
Ui::DialogConfig *ui; Ui::DialogConfig *ui;
}; };

Wyświetl plik

@ -7,13 +7,30 @@
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>385</width> <width>385</width>
<height>336</height> <height>338</height>
</rect> </rect>
</property> </property>
<property name="windowTitle"> <property name="windowTitle">
<string>Config</string> <string>Radio Config</string>
</property> </property>
<layout class="QVBoxLayout" name="verticalLayout_2"> <layout class="QVBoxLayout" name="verticalLayout_2">
<item>
<layout class="QHBoxLayout" name="horizontalLayout_3" stretch="0,1">
<item>
<widget class="QLabel" name="label_RigModel">
<property name="text">
<string>Model</string>
</property>
<property name="buddy">
<cstring>comboBox_rigModel</cstring>
</property>
</widget>
</item>
<item>
<widget class="QComboBox" name="comboBox_rigModel"/>
</item>
</layout>
</item>
<item> <item>
<widget class="QTabWidget" name="tabWidget_Config"> <widget class="QTabWidget" name="tabWidget_Config">
<property name="currentIndex"> <property name="currentIndex">
@ -25,19 +42,6 @@
</attribute> </attribute>
<layout class="QFormLayout" name="formLayout"> <layout class="QFormLayout" name="formLayout">
<item row="0" column="0"> <item row="0" column="0">
<widget class="QLabel" name="label_RigModel">
<property name="text">
<string>Model</string>
</property>
<property name="buddy">
<cstring>comboBox_rigModel</cstring>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QComboBox" name="comboBox_rigModel"/>
</item>
<item row="1" column="0">
<widget class="QLabel" name="label_comPort"> <widget class="QLabel" name="label_comPort">
<property name="text"> <property name="text">
<string>COM Port</string> <string>COM Port</string>
@ -47,10 +51,10 @@
</property> </property>
</widget> </widget>
</item> </item>
<item row="1" column="1"> <item row="0" column="1">
<widget class="QComboBox" name="comboBox_comPort"/> <widget class="QComboBox" name="comboBox_comPort"/>
</item> </item>
<item row="2" column="0"> <item row="1" column="0">
<widget class="QLabel" name="label_serialSpeed"> <widget class="QLabel" name="label_serialSpeed">
<property name="text"> <property name="text">
<string>Speed</string> <string>Speed</string>
@ -60,10 +64,10 @@
</property> </property>
</widget> </widget>
</item> </item>
<item row="2" column="1"> <item row="1" column="1">
<widget class="QComboBox" name="comboBox_serialSpeed"/> <widget class="QComboBox" name="comboBox_serialSpeed"/>
</item> </item>
<item row="3" column="0"> <item row="2" column="0">
<widget class="QLabel" name="label_civAddr"> <widget class="QLabel" name="label_civAddr">
<property name="cursor"> <property name="cursor">
<cursorShape>ArrowCursor</cursorShape> <cursorShape>ArrowCursor</cursorShape>
@ -76,7 +80,7 @@
</property> </property>
</widget> </widget>
</item> </item>
<item row="3" column="1"> <item row="2" column="1">
<layout class="QHBoxLayout" name="horizontalLayout"> <layout class="QHBoxLayout" name="horizontalLayout">
<item> <item>
<widget class="QLineEdit" name="lineEdit_civAddr"> <widget class="QLineEdit" name="lineEdit_civAddr">
@ -218,7 +222,6 @@
</widget> </widget>
<tabstops> <tabstops>
<tabstop>tabWidget_Config</tabstop> <tabstop>tabWidget_Config</tabstop>
<tabstop>comboBox_rigModel</tabstop>
<tabstop>comboBox_comPort</tabstop> <tabstop>comboBox_comPort</tabstop>
<tabstop>comboBox_serialSpeed</tabstop> <tabstop>comboBox_serialSpeed</tabstop>
<tabstop>lineEdit_civAddr</tabstop> <tabstop>lineEdit_civAddr</tabstop>

Wyświetl plik

@ -1723,7 +1723,7 @@
<widget class="QStatusBar" name="statusbar"/> <widget class="QStatusBar" name="statusbar"/>
<action name="action_Connection"> <action name="action_Connection">
<property name="text"> <property name="text">
<string>Connection</string> <string>Radio</string>
</property> </property>
</action> </action>
<action name="action_AboutCatRadio"> <action name="action_AboutCatRadio">