diff --git a/mainwindow.cpp b/mainwindow.cpp
index 714f7d8..ceba1de 100644
--- a/mainwindow.cpp
+++ b/mainwindow.cpp
@@ -5830,11 +5830,13 @@ void MainWindow::clearActivity(){
clearTableWidget(ui->tableWidgetCalls);
// this is now duplicated in three places :(
- ui->tableWidgetCalls->insertRow(ui->tableWidgetCalls->rowCount());
- auto item = new QTableWidgetItem("ALLCALL");
- item->setData(Qt::UserRole, QVariant("ALLCALL"));
- ui->tableWidgetCalls->setItem(ui->tableWidgetCalls->rowCount() - 1, 0, item);
- ui->tableWidgetCalls->setSpan(ui->tableWidgetCalls->rowCount() - 1, 0, 1, ui->tableWidgetCalls->columnCount());
+ if(!ui->selcalButton->isChecked()){
+ ui->tableWidgetCalls->insertRow(ui->tableWidgetCalls->rowCount());
+ auto item = new QTableWidgetItem("ALLCALL");
+ item->setData(Qt::UserRole, QVariant("ALLCALL"));
+ ui->tableWidgetCalls->setItem(ui->tableWidgetCalls->rowCount() - 1, 0, item);
+ ui->tableWidgetCalls->setSpan(ui->tableWidgetCalls->rowCount() - 1, 0, 1, ui->tableWidgetCalls->columnCount());
+ }
clearTableWidget(ui->tableWidgetRXAll);
@@ -7057,11 +7059,13 @@ void MainWindow::on_clearAction_triggered(QObject * sender){
m_callActivity.clear();
clearTableWidget((ui->tableWidgetCalls));
- auto item = new QTableWidgetItem("ALLCALL");
- item->setData(Qt::UserRole, QVariant("ALLCALL"));
- ui->tableWidgetCalls->insertRow(ui->tableWidgetCalls->rowCount());
- ui->tableWidgetCalls->setItem(ui->tableWidgetCalls->rowCount() - 1, 0, item);
- ui->tableWidgetCalls->setSpan(ui->tableWidgetCalls->rowCount() - 1, 0, 1, ui->tableWidgetCalls->columnCount());
+ if(!ui->selcalButton->isChecked()){
+ auto item = new QTableWidgetItem("ALLCALL");
+ item->setData(Qt::UserRole, QVariant("ALLCALL"));
+ ui->tableWidgetCalls->insertRow(ui->tableWidgetCalls->rowCount());
+ ui->tableWidgetCalls->setItem(ui->tableWidgetCalls->rowCount() - 1, 0, item);
+ ui->tableWidgetCalls->setSpan(ui->tableWidgetCalls->rowCount() - 1, 0, 1, ui->tableWidgetCalls->columnCount());
+ }
}
if(sender == ui->extFreeTextMsgEdit){
@@ -7913,6 +7917,18 @@ void MainWindow::on_beaconButton_clicked()
}
}
+void MainWindow::on_selcalButton_clicked(){
+ if(ui->selcalButton->isChecked()){
+ if(callsignSelected() == "ALLCALL"){
+ clearCallsignSelected();
+ }
+ if(ui->tableWidgetRXAll->isVisible()){
+ ui->tableWidgetRXAll->setVisible(false);
+ }
+ }
+ displayCallActivity();
+}
+
void MainWindow::on_readFreq_clicked()
{
if (m_transmitting) return;
@@ -8955,6 +8971,10 @@ void MainWindow::processRxActivity() {
continue;
}
+ if(ui->selcalButton->isChecked()){
+ continue;
+ }
+
// use the actual frequency and check its delta from our current frequency
// meaning, if our current offset is 1502 and the d.freq is 1492, the delta is <= 10;
bool shouldDisplay = abs(d.freq - currentFreqOffset()) <= 10;
@@ -9233,11 +9253,10 @@ void MainWindow::processCommandActivity() {
continue;
}
-#if ENABLE_SELCAL
+ // if selcal is enabled and this isnt directed to us, take no action.
if (isAllCall && ui->selcalButton->isChecked()) {
continue;
}
-#endif
// if this is an allcall, check to make sure we haven't replied to their allcall recently (in the past beacon interval)
// that way we never get spammed by allcalls at a higher frequency than what we would normally beacon
@@ -9994,16 +10013,17 @@ void MainWindow::displayCallActivity() {
clearTableWidget(ui->tableWidgetCalls);
// Create the ALLCALL item
- auto item = new QTableWidgetItem("ALLCALL");
- ui->tableWidgetCalls->insertRow(ui->tableWidgetCalls->rowCount());
- item->setData(Qt::UserRole, QVariant("ALLCALL"));
- ui->tableWidgetCalls->setItem(ui->tableWidgetCalls->rowCount() - 1, 0, item);
- ui->tableWidgetCalls->setSpan(ui->tableWidgetCalls->rowCount() - 1, 0, 1, ui->tableWidgetCalls->columnCount());
- if (isAllCallIncluded(selectedCall)) {
- ui->tableWidgetCalls->item(0, 0)->setSelected(true);
+ if(!ui->selcalButton->isChecked()){
+ auto item = new QTableWidgetItem("ALLCALL");
+ ui->tableWidgetCalls->insertRow(ui->tableWidgetCalls->rowCount());
+ item->setData(Qt::UserRole, QVariant("ALLCALL"));
+ ui->tableWidgetCalls->setItem(ui->tableWidgetCalls->rowCount() - 1, 0, item);
+ ui->tableWidgetCalls->setSpan(ui->tableWidgetCalls->rowCount() - 1, 0, 1, ui->tableWidgetCalls->columnCount());
+ if (isAllCallIncluded(selectedCall)) {
+ ui->tableWidgetCalls->item(0, 0)->setSelected(true);
+ }
}
-
// Build the table
QList < QString > keys = m_callActivity.keys();
diff --git a/mainwindow.h b/mainwindow.h
index 111a8e6..ed61391 100644
--- a/mainwindow.h
+++ b/mainwindow.h
@@ -316,6 +316,7 @@ private slots:
void on_pbR2T_clicked();
void on_pbT2R_clicked();
void on_beaconButton_clicked();
+ void on_selcalButton_clicked();
void acceptQSO (QDateTime const&, QString const& call, QString const& grid
, Frequency dial_freq, QString const& mode
, QString const& rpt_sent, QString const& rpt_received
diff --git a/mainwindow.ui b/mainwindow.ui
index f2480fc..6e9ce5f 100644
--- a/mainwindow.ui
+++ b/mainwindow.ui
@@ -481,72 +481,6 @@ color : white;
QFrame::Plain
- -
-
-
- true
-
-
-
- 0
- 0
-
-
-
-
- 75
- 30
-
-
-
-
- 0
- 30
-
-
-
- false
-
-
- <html><head/><body><p>Enable or disable selective calling (i.e., only directed messages to you will be displayed)</p></body></html>
-
-
- QPushButton {
-font-family: helvetica;
-font-weight: bold;
-background-color: lightgray;
-color: black;
-border-style: solid;
-border-radius:2px;
-border-width:0px;
-border-color: gray;
-font-size:90%;
-min-width:75px;
-min-height:30px;
-/*max-width:60px;*/
-max-height:30px;
-}
-QPushButton[state="error"] {
-background-color: red;
-}
-QPushButton[state="warning"] {
-background-color: orange;
-}
-QPushButton[state="ok"] {
-background-color: #00ff00;
-}
-QPushButton:checked {
-background-color: #6699ff;
-}
-
-
- SELCAL
-
-
- true
-
-
-
-
@@ -560,82 +494,6 @@ background-color: #6699ff;
- -
-
-
- true
-
-
-
- 0
- 0
-
-
-
-
- 75
- 30
-
-
-
-
- 0
- 30
-
-
-
- <html><head/><body><p>Enable or disable spotting of callsigns heard to PSKReporter</p></body></html>
-
-
- QPushButton {
-font-family: helvetica;
-font-weight: bold;
-background-color: lightgray;
-color: black;
-border-style: solid;
-border-radius:2px;
-border-width:0px;
-border-color: gray;
-font-size:90%;
-min-width:75px;
-min-height:30px;
-/*max-width:60px;*/
-max-height:30px;
-}
-QPushButton[state="error"] {
-background-color: red;
-}
-QPushButton[state="warning"] {
-background-color: orange;
-}
-QPushButton[state="ok"] {
-background-color: #00ff00;
-}
-QPushButton:checked {
-background-color: #00ff00;
-}
-
-
- SPOT
-
-
- true
-
-
-
- -
-
-
- Qt::Vertical
-
-
-
- 20
- 40
-
-
-
-
-
@@ -785,8 +643,8 @@ background-color: yellow;
- -
-
+
-
+
Qt::Vertical
@@ -798,69 +656,6 @@ background-color: yellow;
- -
-
-
- true
-
-
-
- 0
- 0
-
-
-
-
- 75
- 30
-
-
-
-
- 16777215
- 30
-
-
-
- <html><head/><body><p>Transmit a tuning tone</p></body></html>
-
-
- QPushButton {
-font-family: helvetica;
-font-weight: bold;
-background-color: lightgray;
-color: black;
-border-style: solid;
-border-radius:2px;
-border-width:0px;
-border-color: gray;
-font-size:90%;
-min-width:75px;
-min-height:30px;
-/*max-width:60px;*/
-max-height:30px;
-}
-QPushButton[state="error"] {
-background-color: red;
-}
-QPushButton[state="warning"] {
-background-color: orange;
-}
-QPushButton[state="ok"] {
-background-color: #00ff00;
-}
-QPushButton:checked {
-background-color: #6699ff;
-}
-
-
- TUNE
-
-
- true
-
-
-
-
@@ -927,13 +722,13 @@ background-color: #6699ff;
- -
-
+
-
+
true
-
+
0
0
@@ -946,12 +741,12 @@ background-color: #6699ff;
- 0
+ 16777215
30
- <html><head/><body><p>Enable or disable automatic station replies to directed queries</p></body></html>
+ <html><head/><body><p>Transmit a tuning tone</p></body></html>
QPushButton {
@@ -983,14 +778,27 @@ background-color: #6699ff;
}
- AUTO
+ TUNE
true
- -
+
-
+
+
+ Qt::Vertical
+
+
+
+ 20
+ 40
+
+
+
+
+ -
true
@@ -1053,7 +861,199 @@ background-color: #6699ff;
- -
+
-
+
+
+ true
+
+
+
+ 0
+ 0
+
+
+
+
+ 75
+ 30
+
+
+
+
+ 0
+ 30
+
+
+
+ <html><head/><body><p>Enable or disable automatic station replies to directed queries</p></body></html>
+
+
+ QPushButton {
+font-family: helvetica;
+font-weight: bold;
+background-color: lightgray;
+color: black;
+border-style: solid;
+border-radius:2px;
+border-width:0px;
+border-color: gray;
+font-size:90%;
+min-width:75px;
+min-height:30px;
+/*max-width:60px;*/
+max-height:30px;
+}
+QPushButton[state="error"] {
+background-color: red;
+}
+QPushButton[state="warning"] {
+background-color: orange;
+}
+QPushButton[state="ok"] {
+background-color: #00ff00;
+}
+QPushButton:checked {
+background-color: #6699ff;
+}
+
+
+ AUTO
+
+
+ true
+
+
+
+ -
+
+
+ true
+
+
+
+ 0
+ 0
+
+
+
+
+ 75
+ 30
+
+
+
+
+ 0
+ 30
+
+
+
+ true
+
+
+ <html><head/><body><p>Enable or disable selective calling (i.e., only directed messages to you will be displayed in the RX area)</p></body></html>
+
+
+ QPushButton {
+font-family: helvetica;
+font-weight: bold;
+background-color: lightgray;
+color: black;
+border-style: solid;
+border-radius:2px;
+border-width:0px;
+border-color: gray;
+font-size:90%;
+min-width:75px;
+min-height:30px;
+/*max-width:60px;*/
+max-height:30px;
+}
+QPushButton[state="error"] {
+background-color: red;
+}
+QPushButton[state="warning"] {
+background-color: orange;
+}
+QPushButton[state="ok"] {
+background-color: #00ff00;
+}
+QPushButton:checked {
+background-color: #6699ff;
+}
+
+
+ SELCAL
+
+
+ true
+
+
+
+ -
+
+
+ true
+
+
+
+ 0
+ 0
+
+
+
+
+ 75
+ 30
+
+
+
+
+ 0
+ 30
+
+
+
+ <html><head/><body><p>Enable or disable spotting of callsigns heard to PSKReporter</p></body></html>
+
+
+ QPushButton {
+font-family: helvetica;
+font-weight: bold;
+background-color: lightgray;
+color: black;
+border-style: solid;
+border-radius:2px;
+border-width:0px;
+border-color: gray;
+font-size:90%;
+min-width:75px;
+min-height:30px;
+/*max-width:60px;*/
+max-height:30px;
+}
+QPushButton[state="error"] {
+background-color: red;
+}
+QPushButton[state="warning"] {
+background-color: orange;
+}
+QPushButton[state="ok"] {
+background-color: #00ff00;
+}
+QPushButton:checked {
+background-color: #00ff00;
+}
+
+
+ SPOT
+
+
+ true
+
+
+
+ -
true
@@ -1266,7 +1266,7 @@ background-color: #00ff00;
true
- Incoming and outgoing directed messages will appear here.
+ Incoming and outgoing messages will appear here.