From 55c365b8340623bc03290df89ea644cd3264bdda Mon Sep 17 00:00:00 2001 From: Jordan Sherer Date: Thu, 29 Nov 2018 22:43:15 -0500 Subject: [PATCH] Added heartbeat and CQ to control menu --- mainwindow.cpp | 66 +++++++++++++++++++++++++++++++++----------------- mainwindow.h | 2 ++ mainwindow.ui | 13 ++++++++++ 3 files changed, 59 insertions(+), 22 deletions(-) diff --git a/mainwindow.cpp b/mainwindow.cpp index 1eb0b51..6c4f41b 100644 --- a/mainwindow.cpp +++ b/mainwindow.cpp @@ -1410,22 +1410,7 @@ MainWindow::MainWindow(QDir const& temp_directory, bool multiple, connect(ui->hbMacroButton, &QPushButton::customContextMenuRequested, this, [this](QPoint const &point){ QMenu * menu = new QMenu(ui->hbMacroButton); - auto hide = menu->addAction("Show Heartbeats and ACKs"); - hide->setCheckable(true); - hide->setChecked(!m_hbHidden); - connect(hide, &QAction::triggered, this, [this](bool checked){ - m_hbHidden = !checked; - displayBandActivity(); - }); - - menu->addSeparator(); - - buildRepeatMenu(menu, ui->hbMacroButton, &m_hbInterval); - - menu->addSeparator(); - - auto now = menu->addAction("Send Heartbeat Now"); - connect(now, &QAction::triggered, this, &MainWindow::sendHeartbeat); + buildHeartbeatMenu(menu); menu->popup(ui->hbMacroButton->mapToGlobal(point)); }); @@ -1434,12 +1419,7 @@ MainWindow::MainWindow(QDir const& temp_directory, bool multiple, connect(ui->cqMacroButton, &QPushButton::customContextMenuRequested, this, [this](QPoint const &point){ QMenu * menu = new QMenu(ui->cqMacroButton); - buildRepeatMenu(menu, ui->cqMacroButton, &m_cqInterval); - - menu->addSeparator(); - - auto now = menu->addAction("Send CQ Message Now"); - connect(now, &QAction::triggered, this, &MainWindow::sendCQ); + buildCQMenu(menu); menu->popup(ui->cqMacroButton->mapToGlobal(point)); }); @@ -2391,6 +2371,20 @@ void MainWindow::on_menuControl_aboutToShow(){ ui->actionEnable_Active->setChecked(ui->activeButton->isChecked()); ui->actionEnable_Auto_Reply->setChecked(ui->autoReplyButton->isChecked()); ui->actionEnable_Selcall->setChecked(ui->selcalButton->isChecked()); + + QMenu * heartbeatMenu = new QMenu(this->menuBar()); + buildHeartbeatMenu(heartbeatMenu); + ui->actionHeartbeat->setMenu(heartbeatMenu); +#if __APPLE__ + rebuildMacQAction(ui->menuControl, ui->actionHeartbeat); +#endif + + QMenu * cqMenu = new QMenu(this->menuBar()); + buildCQMenu(cqMenu); + ui->actionCQ->setMenu(cqMenu); +#if __APPLE__ + rebuildMacQAction(ui->menuControl, ui->actionCQ); +#endif } void MainWindow::on_actionEnable_Spotting_toggled(bool checked){ @@ -6600,6 +6594,34 @@ void MainWindow::on_clearAction_triggered(QObject * sender){ } } +void MainWindow::buildHeartbeatMenu(QMenu *menu){ + auto hide = menu->addAction("Show Heartbeats and ACKs"); + hide->setCheckable(true); + hide->setChecked(!m_hbHidden); + connect(hide, &QAction::triggered, this, [this](bool checked){ + m_hbHidden = !checked; + displayBandActivity(); + }); + + menu->addSeparator(); + + buildRepeatMenu(menu, ui->hbMacroButton, &m_hbInterval); + + menu->addSeparator(); + + auto now = menu->addAction("Send Heartbeat Now"); + connect(now, &QAction::triggered, this, &MainWindow::sendHeartbeat); +} + +void MainWindow::buildCQMenu(QMenu *menu){ + buildRepeatMenu(menu, ui->cqMacroButton, &m_cqInterval); + + menu->addSeparator(); + + auto now = menu->addAction("Send CQ Message Now"); + connect(now, &QAction::triggered, this, &MainWindow::sendCQ); +} + void MainWindow::buildRepeatMenu(QMenu *menu, QPushButton * button, int * interval){ QList> items = { {"On demand / do not repeat", 0}, diff --git a/mainwindow.h b/mainwindow.h index 92aef8d..db927e2 100644 --- a/mainwindow.h +++ b/mainwindow.h @@ -274,6 +274,8 @@ private slots: void on_rbGenMsg_clicked(bool checked); void on_rbFreeText_clicked(bool checked); void on_clearAction_triggered(QObject * sender); + void buildHeartbeatMenu(QMenu *menu); + void buildCQMenu(QMenu *menu); void buildRepeatMenu(QMenu *menu, QPushButton * button, int * interval); void sendHeartbeat(); void on_hbMacroButton_toggled(bool checked); diff --git a/mainwindow.ui b/mainwindow.ui index 22a263e..117ba4f 100644 --- a/mainwindow.ui +++ b/mainwindow.ui @@ -4734,6 +4734,9 @@ list. The list can be maintained in Settings (F2). + + + @@ -5587,6 +5590,16 @@ list. The list can be maintained in Settings (F2). F11 + + + Heartbeat... + + + + + CQ... + +