MCPcopy Create free account
hub / github.com/aethersdr/AetherSDR / PskReporterMapDialog

Method PskReporterMapDialog

src/gui/PskReporterMapDialog.cpp:206–401  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

204} // namespace
205
206PskReporterMapDialog::PskReporterMapDialog(RadioModel* radioModel,
207 PropForecastClient* propForecast,
208 QWidget* parent)
209 : PersistentDialog(tr("PSK Reporter"),
210 QStringLiteral("PskReporterMapGeometry"), parent)
211 , m_radioModel(radioModel)
212 , m_client(new PskReporterClient(this))
213 , m_propForecast(propForecast)
214{
215 setMinimumSize(720, 480);
216
217 auto* root = new QVBoxLayout(bodyWidget());
218 root->setContentsMargins(6, 6, 6, 6);
219 root->setSpacing(6);
220
221 auto* topBar = new QHBoxLayout();
222
223 topBar->addWidget(new QLabel(tr("Band:"), bodyWidget()));
224 m_bandCombo = new QComboBox(bodyWidget());
225 m_bandCombo->addItem(tr("All"));
226 for (const char* b : { "160m", "80m", "60m", "40m", "30m", "20m",
227 "17m", "15m", "12m", "10m", "6m", "VHF+" }) {
228 m_bandCombo->addItem(QString::fromLatin1(b));
229 }
230 topBar->addWidget(m_bandCombo);
231
232 topBar->addWidget(new QLabel(tr("Mode:"), bodyWidget()));
233 m_modeCombo = new QComboBox(bodyWidget());
234 m_modeCombo->addItem(tr("All"));
235 for (const char* m : { "FT8", "FT4", "WSPR", "JS8", "CW", "PSK",
236 "RTTY", "SSB", "Other" }) {
237 m_modeCombo->addItem(QString::fromLatin1(m));
238 }
239 topBar->addWidget(m_modeCombo);
240
241 topBar->addWidget(new QLabel(tr("Lookback:"), bodyWidget()));
242 m_lookbackCombo = new QComboBox(bodyWidget());
243 m_lookbackCombo->addItem(tr("15 min"), 15 * 60);
244 m_lookbackCombo->addItem(tr("30 min"), 30 * 60);
245 m_lookbackCombo->addItem(tr("1 hour"), 60 * 60);
246 m_lookbackCombo->addItem(tr("2 hours"), 2 * 60 * 60);
247 m_lookbackCombo->addItem(tr("4 hours"), 4 * 60 * 60);
248 m_lookbackCombo->addItem(tr("8 hours"), 8 * 60 * 60);
249 topBar->addWidget(m_lookbackCombo);
250
251 topBar->addSpacing(12);
252 topBar->addWidget(new QLabel(tr("Update every:"), bodyWidget()));
253
254 m_intervalCombo = new QComboBox(bodyWidget());
255 // PSK Reporter policy floors HTTP polling at 5 minutes; "Live" uses
256 // their sanctioned MQTT feed instead of fast polling.
257 m_intervalCombo->addItem(tr("Live (MQTT)"), PskReporterClient::kLiveMqtt);
258 m_intervalCombo->addItem(tr("5 minutes"), 5 * 60 * 1000);
259 m_intervalCombo->addItem(tr("10 minutes"), 10 * 60 * 1000);
260 m_intervalCombo->addItem(tr("15 minutes"), 15 * 60 * 1000);
261 m_intervalCombo->addItem(tr("30 minutes"), 30 * 60 * 1000);
262 m_intervalCombo->addItem(tr("1 hour"), 60 * 60 * 1000);
263 topBar->addWidget(m_intervalCombo);

Callers

nothing calls this directly

Calls 8

pskSettingsFunction · 0.85
modeColorFunction · 0.85
writePskSettingFunction · 0.85
setPathsVisibleMethod · 0.80
setLegendMethod · 0.80
setLookbackSecondsMethod · 0.80
valueMethod · 0.45
isEmptyMethod · 0.45

Tested by

no test coverage detected