From 956dde4fd4e1bbaf87263b688227a8d7b7068169 Mon Sep 17 00:00:00 2001
From: aa5sh <84428382+aa5sh@users.noreply.github.com>
Date: Sun, 8 Sep 2024 00:34:07 -0500
Subject: [PATCH 1/2] NetworkNotification-Frequency
---
core/NetworkNotification.cpp | 48 ++++++++++
core/NetworkNotification.h | 13 +++
ui/MainWindow.cpp | 1 +
ui/SettingsDialog.cpp | 2 +
ui/SettingsDialog.ui | 174 +++++++++++++++++++----------------
5 files changed, 159 insertions(+), 79 deletions(-)
diff --git a/core/NetworkNotification.cpp b/core/NetworkNotification.cpp
index 1a6c4e36..900ed874 100644
--- a/core/NetworkNotification.cpp
+++ b/core/NetworkNotification.cpp
@@ -84,6 +84,25 @@ void NetworkNotification::saveNotifSpotAlertAddrs(const QString &addresses)
}
+QString NetworkNotification::getNotifFreqAlertAddrs()
+{
+ FCT_IDENTIFICATION;
+
+ QSettings settings;
+
+ return settings.value(NetworkNotification::CONFIG_NOTIF_FREQ_ADDRS_KEY).toString();
+}
+
+void NetworkNotification::saveNotifFreqAlertAddrs(const QString &addresses)
+{
+ FCT_IDENTIFICATION;
+
+ QSettings settings;
+
+ settings.setValue(NetworkNotification::CONFIG_NOTIF_FREQ_ADDRS_KEY, addresses);
+
+}
+
void NetworkNotification::QSOInserted(const QSqlRecord &record)
{
FCT_IDENTIFICATION;
@@ -240,6 +259,7 @@ QString NetworkNotification::CONFIG_NOTIF_QSO_ADI_ADDRS_KEY = "network/notificat
QString NetworkNotification::CONFIG_NOTIF_DXSPOT_ADDRS_KEY = "network/notification/dxspot/addrs";
QString NetworkNotification::CONFIG_NOTIF_WSJTXCQSPOT_ADDRS_KEY = "network/notification/wsjtx/cqspot/addrs";
QString NetworkNotification::CONFIG_NOTIF_SPOTALERT_ADDRS_KEY = "network/notification/alerts/spot/addrs";
+QString NetworkNotification::CONFIG_NOTIF_FREQ_ADDRS_KEY = "network/notification/alerts/freq/addrs";
GenericNotificationMsg::GenericNotificationMsg(QObject *parent) :
QObject(parent)
@@ -469,3 +489,31 @@ ToAllSpotNotificationMsg::ToAllSpotNotificationMsg(const ToAllSpot &spot, QObjec
msg["msgtype"] = "toallspot";
msg["data"] = spotData;
}
+
+void NetworkNotification::updateFrequency(VFOID, double vfoFreq, double ritFreq, double xitFreq)
+{
+ FCT_IDENTIFICATION;
+
+ qCDebug(function_parameters) << vfoFreq << ritFreq << xitFreq;
+
+ HostsPortString destList(getNotifFreqAlertAddrs());
+
+ if ( destList.getAddrList().size() > 0 )
+ {
+ FreqNotificationMsg freqAlertMsg(vfoFreq);
+ send(freqAlertMsg.getJson(), destList);
+ }
+}
+
+FreqNotificationMsg::FreqNotificationMsg(const double &rx_freq, QObject *parent) :
+ GenericNotificationMsg(parent)
+{
+ FCT_IDENTIFICATION;
+
+ QJsonObject freqData;
+ freqData["Frequency"] = rx_freq;
+
+
+ msg["msgtype"] = "freq";
+ msg["data"] = freqData;
+}
diff --git a/core/NetworkNotification.h b/core/NetworkNotification.h
index 59583388..72ebffcc 100644
--- a/core/NetworkNotification.h
+++ b/core/NetworkNotification.h
@@ -14,6 +14,7 @@
#include "data/WCYSpot.h"
#include "data/WWVSpot.h"
#include "data/ToAllSpot.h"
+#include "rig/rig.h"
class GenericNotificationMsg : public QObject
{
@@ -116,6 +117,14 @@ class ToAllSpotNotificationMsg : public GenericNotificationMsg
};
+class FreqNotificationMsg : public GenericNotificationMsg
+{
+
+public:
+ explicit FreqNotificationMsg(const double&, QObject *parent = nullptr);
+
+};
+
class NetworkNotification : public QObject
{
Q_OBJECT
@@ -130,6 +139,8 @@ class NetworkNotification : public QObject
static void saveNotifWSJTXCQSpotAddrs(const QString &);
static QString getNotifSpotAlertAddrs();
static void saveNotifSpotAlertAddrs(const QString &);
+ static QString getNotifFreqAlertAddrs();
+ static void saveNotifFreqAlertAddrs(const QString &);
public slots:
void QSOInserted(const QSqlRecord &);
@@ -141,6 +152,7 @@ public slots:
void toAllSpot(const ToAllSpot&);
void WSJTXCQSpot(const WsjtxEntry&);
void spotAlert(const SpotAlert&);
+ void updateFrequency(VFOID, double, double, double);
private:
@@ -150,6 +162,7 @@ public slots:
static QString CONFIG_NOTIF_DXSPOT_ADDRS_KEY;
static QString CONFIG_NOTIF_WSJTXCQSPOT_ADDRS_KEY;
static QString CONFIG_NOTIF_SPOTALERT_ADDRS_KEY;
+ static QString CONFIG_NOTIF_FREQ_ADDRS_KEY;
};
diff --git a/ui/MainWindow.cpp b/ui/MainWindow.cpp
index acdb2f72..b74f7b2d 100644
--- a/ui/MainWindow.cpp
+++ b/ui/MainWindow.cpp
@@ -141,6 +141,7 @@ MainWindow::MainWindow(QWidget* parent) :
connect(Rig::instance(), &Rig::frequencyChanged, ui->onlineMapWidget, &OnlineMapWidget::setIBPBand);
connect(Rig::instance(), &Rig::frequencyChanged, ui->bandmapWidget , &BandmapWidget::updateTunedFrequency);
connect(Rig::instance(), &Rig::modeChanged, ui->bandmapWidget, &BandmapWidget::updateMode);
+ connect(Rig::instance(), &Rig::frequencyChanged, &networknotification, &NetworkNotification::updateFrequency);
connect(Rotator::instance(), &Rotator::rotErrorPresent, this, &MainWindow::rotErrorHandler);
connect(Rotator::instance(), &Rotator::positionChanged, ui->onlineMapWidget, &OnlineMapWidget::antPositionChanged);
diff --git a/ui/SettingsDialog.cpp b/ui/SettingsDialog.cpp
index 1bfaadb8..57ef8778 100644
--- a/ui/SettingsDialog.cpp
+++ b/ui/SettingsDialog.cpp
@@ -2326,6 +2326,7 @@ void SettingsDialog::readSettings() {
ui->notifDXSpotsEdit->setText(NetworkNotification::getNotifDXSpotAddrs());
ui->notifWSJTXCQSpotsEdit->setText(NetworkNotification::getNotifWSJTXCQSpotAddrs());
ui->notifSpotAlertEdit->setText(NetworkNotification::getNotifSpotAlertAddrs());
+ ui->notifFreqEdit->setText(NetworkNotification::getNotifFreqAlertAddrs());
/******************/
/* END OF Reading */
@@ -2430,6 +2431,7 @@ void SettingsDialog::writeSettings() {
NetworkNotification::saveNotifDXSpotAddrs(ui->notifDXSpotsEdit->text());
NetworkNotification::saveNotifWSJTXCQSpotAddrs(ui->notifWSJTXCQSpotsEdit->text());
NetworkNotification::saveNotifSpotAlertAddrs(ui->notifSpotAlertEdit->text());
+ NetworkNotification::saveNotifFreqAlertAddrs(ui->notifFreqEdit->text());
}
/* this function is called when user modify rig progile
diff --git a/ui/SettingsDialog.ui b/ui/SettingsDialog.ui
index a106b9d2..3660bb63 100644
--- a/ui/SettingsDialog.ui
+++ b/ui/SettingsDialog.ui
@@ -35,7 +35,7 @@
-
- QDialogButtonBox::Cancel|QDialogButtonBox::Save
+ QDialogButtonBox::StandardButton::Cancel|QDialogButtonBox::StandardButton::Save
@@ -186,16 +186,16 @@
-
- Qt::NoFocus
+ Qt::FocusPolicy::NoFocus
- Qt::NoContextMenu
+ Qt::ContextMenuPolicy::NoContextMenu
List of all available Station Profiles
- QAbstractItemView::NoEditTriggers
+ QAbstractItemView::EditTrigger::NoEditTriggers
@@ -256,7 +256,7 @@
-
- Qt::Horizontal
+ Qt::Orientation::Horizontal
@@ -398,7 +398,7 @@
-
- Qt::Vertical
+ Qt::Orientation::Vertical
@@ -555,16 +555,16 @@
-
- Qt::NoFocus
+ Qt::FocusPolicy::NoFocus
- Qt::NoContextMenu
+ Qt::ContextMenuPolicy::NoContextMenu
List of all available Antennas
- QAbstractItemView::NoEditTriggers
+ QAbstractItemView::EditTrigger::NoEditTriggers
@@ -574,7 +574,7 @@
-
- Qt::Vertical
+ Qt::Orientation::Vertical
@@ -606,16 +606,16 @@
-
- Qt::NoFocus
+ Qt::FocusPolicy::NoFocus
- Qt::NoContextMenu
+ Qt::ContextMenuPolicy::NoContextMenu
List of all available CW Keyers
- QAbstractItemView::NoEditTriggers
+ QAbstractItemView::EditTrigger::NoEditTriggers
@@ -722,7 +722,7 @@
- QFrame::NoFrame
+ QFrame::Shape::NoFrame
0
@@ -862,7 +862,7 @@
-
- Qt::Vertical
+ Qt::Orientation::Vertical
@@ -915,16 +915,16 @@
-
- Qt::NoFocus
+ Qt::FocusPolicy::NoFocus
- Qt::NoContextMenu
+ Qt::ContextMenuPolicy::NoContextMenu
List of all available CW Shortcuts Profiles
- QAbstractItemView::NoEditTriggers
+ QAbstractItemView::EditTrigger::NoEditTriggers
@@ -1438,16 +1438,16 @@
-
- Qt::NoFocus
+ Qt::FocusPolicy::NoFocus
- Qt::NoContextMenu
+ Qt::ContextMenuPolicy::NoContextMenu
List of all available Rigs
- QAbstractItemView::NoEditTriggers
+ QAbstractItemView::EditTrigger::NoEditTriggers
@@ -1568,7 +1568,7 @@
-
- Qt::AlignCenter
+ Qt::AlignmentFlag::AlignCenter
@@ -1890,7 +1890,7 @@
- QFrame::NoFrame
+ QFrame::Shape::NoFrame
0
@@ -1898,7 +1898,7 @@
- Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop
+ Qt::AlignmentFlag::AlignLeading|Qt::AlignmentFlag::AlignLeft|Qt::AlignmentFlag::AlignTop
6
@@ -1963,7 +1963,7 @@
- Qt::StrongFocus
+ Qt::FocusPolicy::StrongFocus
-
@@ -2060,7 +2060,7 @@
Parity
- Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
+ Qt::AlignmentFlag::AlignRight|Qt::AlignmentFlag::AlignTrailing|Qt::AlignmentFlag::AlignVCenter
@@ -2117,7 +2117,7 @@
Stop Bits
- Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
+ Qt::AlignmentFlag::AlignRight|Qt::AlignmentFlag::AlignTrailing|Qt::AlignmentFlag::AlignVCenter
@@ -2287,16 +2287,16 @@
-
- Qt::NoFocus
+ Qt::FocusPolicy::NoFocus
- Qt::NoContextMenu
+ Qt::ContextMenuPolicy::NoContextMenu
List of all available Rigs
- QAbstractItemView::NoEditTriggers
+ QAbstractItemView::EditTrigger::NoEditTriggers
@@ -2378,7 +2378,7 @@
- QFrame::NoFrame
+ QFrame::Shape::NoFrame
0
@@ -2514,7 +2514,7 @@
Stop Bits
- Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
+ Qt::AlignmentFlag::AlignRight|Qt::AlignmentFlag::AlignTrailing|Qt::AlignmentFlag::AlignVCenter
@@ -2548,7 +2548,7 @@
Parity
- Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
+ Qt::AlignmentFlag::AlignRight|Qt::AlignmentFlag::AlignTrailing|Qt::AlignmentFlag::AlignVCenter
@@ -2597,7 +2597,7 @@
Port
- Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
+ Qt::AlignmentFlag::AlignRight|Qt::AlignmentFlag::AlignTrailing|Qt::AlignmentFlag::AlignVCenter
@@ -2648,16 +2648,16 @@
-
- Qt::NoFocus
+ Qt::FocusPolicy::NoFocus
- Qt::NoContextMenu
+ Qt::ContextMenuPolicy::NoContextMenu
List of all available CW Shortcuts Profiles
- QAbstractItemView::NoEditTriggers
+ QAbstractItemView::EditTrigger::NoEditTriggers
@@ -2975,7 +2975,7 @@
-
- Qt::Vertical
+ Qt::Orientation::Vertical
@@ -3062,7 +3062,7 @@
true
- QLineEdit::Password
+ QLineEdit::EchoMode::Password
@@ -3102,7 +3102,7 @@
true
- QLineEdit::Password
+ QLineEdit::EchoMode::Password
@@ -3149,7 +3149,7 @@
-
- Qt::Vertical
+ Qt::Orientation::Vertical
@@ -3181,7 +3181,7 @@
-
- Qt::Vertical
+ Qt::Orientation::Vertical
@@ -3201,7 +3201,7 @@
-
- Qt::Vertical
+ Qt::Orientation::Vertical
@@ -3220,7 +3220,7 @@
- QTabWidget::Rounded
+ QTabWidget::TabShape::Rounded
0
@@ -3236,10 +3236,10 @@
-
- Qt::Vertical
+ Qt::Orientation::Vertical
- QSizePolicy::Fixed
+ QSizePolicy::Policy::Fixed
@@ -3269,14 +3269,14 @@
-
- QLineEdit::Password
+ QLineEdit::EchoMode::Password
-
- Qt::Vertical
+ Qt::Orientation::Vertical
@@ -3316,10 +3316,10 @@
-
- Qt::Vertical
+ Qt::Orientation::Vertical
- QSizePolicy::Fixed
+ QSizePolicy::Policy::Fixed
@@ -3349,14 +3349,14 @@
-
- QLineEdit::Password
+ QLineEdit::EchoMode::Password
-
- Qt::Vertical
+ Qt::Orientation::Vertical
@@ -3399,7 +3399,7 @@
It is not a password. It is the upload code received via email after the registration to HRDLOG..net
- QLineEdit::Password
+ QLineEdit::EchoMode::Password
@@ -3429,10 +3429,10 @@
-
- Qt::Vertical
+ Qt::Orientation::Vertical
- QSizePolicy::Fixed
+ QSizePolicy::Policy::Fixed
@@ -3445,7 +3445,7 @@
-
- Qt::Vertical
+ Qt::Orientation::Vertical
@@ -3482,7 +3482,7 @@
-
- QLineEdit::Password
+ QLineEdit::EchoMode::Password
@@ -3511,8 +3511,7 @@
Browse
-
- ..
+
@@ -3521,10 +3520,10 @@
-
- Qt::Vertical
+ Qt::Orientation::Vertical
- QSizePolicy::Fixed
+ QSizePolicy::Policy::Fixed
@@ -3537,7 +3536,7 @@
-
- Qt::Vertical
+ Qt::Orientation::Vertical
@@ -3571,17 +3570,17 @@
-
- QLineEdit::Password
+ QLineEdit::EchoMode::Password
-
- Qt::Vertical
+ Qt::Orientation::Vertical
- QSizePolicy::Fixed
+ QSizePolicy::Policy::Fixed
@@ -3594,7 +3593,7 @@
-
- Qt::Vertical
+ Qt::Orientation::Vertical
@@ -3631,10 +3630,10 @@
-
- Qt::Vertical
+ Qt::Orientation::Vertical
- QSizePolicy::Fixed
+ QSizePolicy::Policy::Fixed
@@ -3664,14 +3663,14 @@
-
- QLineEdit::Password
+ QLineEdit::EchoMode::Password
-
- Qt::Vertical
+ Qt::Orientation::Vertical
@@ -3698,7 +3697,7 @@
-
- Qt::Vertical
+ Qt::Orientation::Vertical
@@ -3721,10 +3720,10 @@
true
- QAbstractItemView::ScrollPerPixel
+ QAbstractItemView::ScrollMode::ScrollPerPixel
- QAbstractItemView::ScrollPerPixel
+ QAbstractItemView::ScrollMode::ScrollPerPixel
true
@@ -3750,10 +3749,10 @@
true
- QAbstractItemView::ScrollPerPixel
+ QAbstractItemView::ScrollMode::ScrollPerPixel
- QAbstractItemView::ScrollPerPixel
+ QAbstractItemView::ScrollMode::ScrollPerPixel
true
@@ -4001,13 +4000,30 @@
+ -
+
+
+ Frequency Info
+
+
+
+ -
+
+
+ <html><head/><body><p>List of IP addresses to which QLog sends UDP notification packets with current Radio Frequency.</p><p>The IP addresses are separated by a space and have the form IP:PORT</p></body></html>
+
+
+ ex. 192.168.1.1:1234 192.168.2.1:1234
+
+
+
-
- Qt::Vertical
+ Qt::Orientation::Vertical
@@ -4037,13 +4053,13 @@
true
- QAbstractItemView::NoSelection
+ QAbstractItemView::SelectionMode::NoSelection
- QAbstractItemView::ScrollPerPixel
+ QAbstractItemView::ScrollMode::ScrollPerPixel
- QAbstractItemView::ScrollPerPixel
+ QAbstractItemView::ScrollMode::ScrollPerPixel
300
From e3e178be9f9c2929d7a42eb350d52329205632d8 Mon Sep 17 00:00:00 2001
From: aa5sh <84428382+aa5sh@users.noreply.github.com>
Date: Sun, 8 Sep 2024 11:08:29 -0500
Subject: [PATCH 2/2] fix labels
---
core/NetworkNotification.cpp | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/core/NetworkNotification.cpp b/core/NetworkNotification.cpp
index 900ed874..188dc211 100644
--- a/core/NetworkNotification.cpp
+++ b/core/NetworkNotification.cpp
@@ -505,14 +505,13 @@ void NetworkNotification::updateFrequency(VFOID, double vfoFreq, double ritFreq,
}
}
-FreqNotificationMsg::FreqNotificationMsg(const double &rx_freq, QObject *parent) :
+FreqNotificationMsg::FreqNotificationMsg(const double &vfo_freq, QObject *parent) :
GenericNotificationMsg(parent)
{
FCT_IDENTIFICATION;
QJsonObject freqData;
- freqData["Frequency"] = rx_freq;
-
+ freqData["Frequency"] = vfo_freq;
msg["msgtype"] = "freq";
msg["data"] = freqData;