From 5d0e91a5ed85ab6099a088a73ae1eefe08f85194 Mon Sep 17 00:00:00 2001 From: Jordan Sherer Date: Thu, 23 Aug 2018 12:24:47 -0400 Subject: [PATCH] Added menu items for band and call activity sorting in the main menu --- mainwindow.cpp | 48 ++++++++++++++++++++++++++++++++---------------- mainwindow.h | 2 ++ mainwindow.ui | 13 +++++++++++++ 3 files changed, 47 insertions(+), 16 deletions(-) diff --git a/mainwindow.cpp b/mainwindow.cpp index e889be1..381944e 100644 --- a/mainwindow.cpp +++ b/mainwindow.cpp @@ -1114,13 +1114,7 @@ MainWindow::MainWindow(QDir const& temp_directory, bool multiple, menu->addSeparator(); auto sortMenu = menu->addMenu(QString("Sort by...")); - buildSortByMenu(sortMenu, "bandActivity", "offset", { - {"Frequency Offset", "offset"}, - {"Last heard timestamp (oldest first)", "timestamp"}, - {"Last heard timestamp (newest first)", "-timestamp"}, - {"SNR (weakest first)", "snr"}, - {"SNR (strongest first)", "-snr"} - }); + buildBandActivitySortByMenu(sortMenu); menu->addSeparator(); menu->addAction(clearAction3); @@ -1171,15 +1165,7 @@ MainWindow::MainWindow(QDir const& temp_directory, bool multiple, menu->addSeparator(); auto sortMenu = menu->addMenu(QString("Sort by...")); - buildSortByMenu(sortMenu, "callActivity", "callsign", { - {"Callsign", "callsign"}, - {"Distance (closest first)", "distance"}, - {"Distance (farthest first)", "-distance"}, - {"Last heard timestamp (oldest first)", "timestamp"}, - {"Last heard timestamp (newest first)", "-timestamp"}, - {"SNR (weakest first)", "snr"}, - {"SNR (strongest first)", "-snr"} - }); + buildCallActivitySortByMenu(sortMenu); menu->addSeparator(); menu->addAction(clearAction4); @@ -2138,6 +2124,14 @@ void MainWindow::on_menuWindow_aboutToShow(){ auto vsizes = ui->mainSplitter->sizes(); ui->actionShow_Waterfall->setChecked(vsizes.last() > 0); + + QMenu * sortBandMenu = new QMenu(ui->menuWindow); + buildBandActivitySortByMenu(sortBandMenu); + ui->actionSort_Band_Activity->setMenu(sortBandMenu); + + QMenu * sortCallMenu = new QMenu(ui->menuWindow); + buildCallActivitySortByMenu(sortCallMenu); + ui->actionSort_Call_Activity->setMenu(sortCallMenu); } void MainWindow::on_actionShow_Band_Activity_triggered(bool checked){ @@ -7179,6 +7173,28 @@ void MainWindow::buildSortByMenu(QMenu * menu, QString key, QString defaultValue } } +void MainWindow::buildBandActivitySortByMenu(QMenu * menu){ + buildSortByMenu(menu, "bandActivity", "offset", { + {"Frequency Offset", "offset"}, + {"Last heard timestamp (oldest first)", "timestamp"}, + {"Last heard timestamp (newest first)", "-timestamp"}, + {"SNR (weakest first)", "snr"}, + {"SNR (strongest first)", "-snr"} + }); +} + +void MainWindow::buildCallActivitySortByMenu(QMenu * menu){ + buildSortByMenu(menu, "callActivity", "callsign", { + {"Callsign", "callsign"}, + {"Distance (closest first)", "distance"}, + {"Distance (farthest first)", "-distance"}, + {"Last heard timestamp (oldest first)", "timestamp"}, + {"Last heard timestamp (newest first)", "-timestamp"}, + {"SNR (weakest first)", "snr"}, + {"SNR (strongest first)", "-snr"} + }); +} + void MainWindow::buildQueryMenu(QMenu * menu, QString call){ bool isAllCall = isAllCallIncluded(call); diff --git a/mainwindow.h b/mainwindow.h index 7af1a39..0dd16b1 100644 --- a/mainwindow.h +++ b/mainwindow.h @@ -260,6 +260,8 @@ private slots: void setSortBy(QString key, QString value); QString getSortBy(QString key, QString defaultValue); void buildSortByMenu(QMenu * menu, QString key, QString defaultValue, QMap values); + void buildBandActivitySortByMenu(QMenu * menu); + void buildCallActivitySortByMenu(QMenu * menu); void buildQueryMenu(QMenu *, QString callsign); void on_queryButton_pressed(); void on_macrosMacroButton_pressed(); diff --git a/mainwindow.ui b/mainwindow.ui index 6308956..ea04b1f 100644 --- a/mainwindow.ui +++ b/mainwindow.ui @@ -4353,6 +4353,9 @@ list. The list can be maintained in Settings (F2). Window + + + @@ -5048,6 +5051,16 @@ list. The list can be maintained in Settings (F2). Reset Window Sizes + + + Sort Band Activity... + + + + + Sort Call Activity... + +