From 648f329b501a59a497650b13b139f751a4e52c96 Mon Sep 17 00:00:00 2001 From: Daniele Forsi Date: Sat, 12 Aug 2023 20:26:36 +0200 Subject: [PATCH] IBP Beacons: Add the "DX Entity" column as in the IBP website --- plugins/feature/map/ibpbeacon.cpp | 36 +++++++++++----------- plugins/feature/map/ibpbeacon.h | 5 ++- plugins/feature/map/mapibpbeacondialog.cpp | 2 ++ plugins/feature/map/mapibpbeacondialog.h | 1 + plugins/feature/map/mapibpbeacondialog.ui | 5 +++ 5 files changed, 30 insertions(+), 19 deletions(-) diff --git a/plugins/feature/map/ibpbeacon.cpp b/plugins/feature/map/ibpbeacon.cpp index 4d3cc263a..10688373d 100644 --- a/plugins/feature/map/ibpbeacon.cpp +++ b/plugins/feature/map/ibpbeacon.cpp @@ -19,24 +19,24 @@ // Beacon information from https://www.ncdxf.org/beacon/beaconlocations.html QList IBPBeacon::m_beacons = { - IBPBeacon("4U1UN", "United Nations NY", "FN30AS", 0), - IBPBeacon("VE8AT", "North Canada", "CP38GH", 10), - IBPBeacon("W6WX", "USA (CA)", "CM97BD", 20), - IBPBeacon("KH6RS", "Hawaii", "BL10TS", 30), - IBPBeacon("ZL6B", "New Zealand", "RE78TW", 40), - IBPBeacon("VK6RBP", "West Australia", "OF87AV", 50), - IBPBeacon("JA2IGY", "Japan", "PM84JK", 60), - IBPBeacon("RR9O", "Siberia", "NO14KX", 70), - IBPBeacon("VR2B", "China", "OL72BG", 80), - IBPBeacon("4S7B", "Sri Lanka", "MJ96WV", 90), - IBPBeacon("ZS6DN", "South Africa", "KG33XI", 100), - IBPBeacon("5Z4B", "Kenya", "KI88HR", 110), - IBPBeacon("4X6TU", "Israel", "KM72JB", 120), - IBPBeacon("OH2B", "Finland", "KP20EH", 130), - IBPBeacon("CS3B", "Madeira", "IM12JT", 140), - IBPBeacon("LU4AA", "Argentina", "GF05TJ", 150), - IBPBeacon("OA4B", "Peru", "FH17MW", 160), - IBPBeacon("YV5B", "Venezuela", "FJ69CC", 170) + IBPBeacon("United Nations", "4U1UN", "New York City", "FN30AS", 0), + IBPBeacon("Canada", "VE8AT", "Inuvik (NT)", "CP38GH", 10), + IBPBeacon("United States", "W6WX", "Mt. Umunhum (CA)", "CM97BD", 20), + IBPBeacon("Hawaii", "KH6RS", "Maui ", "BL10TS", 30), + IBPBeacon("New Zealand", "ZL6B", "Masterton", "RE78TW", 40), + IBPBeacon("Australia", "VK6RBP", "Rolystone (WA)", "OF87AV", 50), + IBPBeacon("Japan", "JA2IGY", "Mt. Asama", "PM84JK", 60), + IBPBeacon("Russia", "RR9O", "Novosibirsk", "NO14KX", 70), + IBPBeacon("Hong Kong", "VR2B", "Hong Kong", "OL72BG", 80), + IBPBeacon("Sri Lanka", "4S7B", "Colombo", "MJ96WV", 90), + IBPBeacon("South Africa", "ZS6DN", "Pretoria", "KG33XI", 100), + IBPBeacon("Kenya", "5Z4B", "Kikuyu", "KI88HR", 110), + IBPBeacon("Israel", "4X6TU", "Tel Aviv", "KM72JB", 120), + IBPBeacon("Finland", "OH2B", "Lohja", "KP20EH", 130), + IBPBeacon("Madeira", "CS3B", "São Jorge", "IM12JT", 140), + IBPBeacon("Argentina", "LU4AA", "Buenos Aires", "GF05TJ", 150), + IBPBeacon("Peru", "OA4B", "Lima", "FH17MW", 160), + IBPBeacon("Venezuela", "YV5B", "Caracas", "FJ69CC", 170) }; // The frequencies in MHz through which the IBP beacons rotate diff --git a/plugins/feature/map/ibpbeacon.h b/plugins/feature/map/ibpbeacon.h index bb0f97bd5..ebb39c980 100644 --- a/plugins/feature/map/ibpbeacon.h +++ b/plugins/feature/map/ibpbeacon.h @@ -28,6 +28,7 @@ struct IBPBeacon { + QString m_dxEntity; QString m_callsign; QString m_location; QString m_locator; @@ -35,7 +36,8 @@ struct IBPBeacon { float m_latitude; float m_longitude; - IBPBeacon(const QString& callsign, const QString& location, const QString& locator, int offset) : + IBPBeacon(const QString& dxEntity, const QString& callsign, const QString& location, const QString& locator, int offset) : + m_dxEntity(dxEntity), m_callsign(callsign), m_location(location), m_locator(locator), @@ -48,6 +50,7 @@ struct IBPBeacon { { QStringList list; list.append("IBP Beacon"); + list.append(QString("DX Entity: %1").arg(m_dxEntity)); list.append(QString("Callsign: %1").arg(m_callsign)); list.append(QString("Frequency: 14.1, 18.11, 21.15, 24.93, 28.2 MHz")); list.append(QString("Power: 100 Watts ERP")); diff --git a/plugins/feature/map/mapibpbeacondialog.cpp b/plugins/feature/map/mapibpbeacondialog.cpp index be2b96ed0..144ecac88 100644 --- a/plugins/feature/map/mapibpbeacondialog.cpp +++ b/plugins/feature/map/mapibpbeacondialog.cpp @@ -38,6 +38,7 @@ MapIBPBeaconDialog::MapIBPBeaconDialog(MapGUI *gui, QWidget* parent) : ui->beacons->setItem(row, IBP_BEACON_COL_FREQUENCY, new QTableWidgetItem(QString::number(IBPBeacon::m_frequencies[row], 'f', 3))); ui->beacons->setItem(row, IBP_BEACON_COL_CALLSIGN, new QTableWidgetItem("")); ui->beacons->setItem(row, IBP_BEACON_COL_LOCATION, new QTableWidgetItem("")); + ui->beacons->setItem(row, IBP_BEACON_COL_DX_ENTITY, new QTableWidgetItem("")); ui->beacons->setItem(row, IBP_BEACON_COL_AZIMUTH, new QTableWidgetItem("")); ui->beacons->setItem(row, IBP_BEACON_COL_DISTANCE, new QTableWidgetItem("")); } @@ -60,6 +61,7 @@ void MapIBPBeaconDialog::updateTable(QTime time) { ui->beacons->item(row, IBP_BEACON_COL_CALLSIGN)->setText(IBPBeacon::m_beacons[index].m_callsign); ui->beacons->item(row, IBP_BEACON_COL_LOCATION)->setText(IBPBeacon::m_beacons[index].m_location); + ui->beacons->item(row, IBP_BEACON_COL_DX_ENTITY)->setText(IBPBeacon::m_beacons[index].m_dxEntity); // Calculate azimuth and distance to beacon azEl.setTarget(IBPBeacon::m_beacons[index].m_latitude, IBPBeacon::m_beacons[index].m_longitude, 0.0); diff --git a/plugins/feature/map/mapibpbeacondialog.h b/plugins/feature/map/mapibpbeacondialog.h index 4496d8d0d..86bba5bd5 100644 --- a/plugins/feature/map/mapibpbeacondialog.h +++ b/plugins/feature/map/mapibpbeacondialog.h @@ -49,6 +49,7 @@ private: IBP_BEACON_COL_FREQUENCY, IBP_BEACON_COL_CALLSIGN, IBP_BEACON_COL_LOCATION, + IBP_BEACON_COL_DX_ENTITY, IBP_BEACON_COL_AZIMUTH, IBP_BEACON_COL_DISTANCE }; diff --git a/plugins/feature/map/mapibpbeacondialog.ui b/plugins/feature/map/mapibpbeacondialog.ui index 038ab63ea..4ad54cf0b 100644 --- a/plugins/feature/map/mapibpbeacondialog.ui +++ b/plugins/feature/map/mapibpbeacondialog.ui @@ -89,6 +89,11 @@ Location + + + DX Entity + + Azimuth (°)