Added menu items for band and call activity sorting in the main menu

This commit is contained in:
Jordan Sherer 2018-08-23 12:24:47 -04:00
parent c01238f5e0
commit 5d0e91a5ed
3 changed files with 47 additions and 16 deletions

View File

@ -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);

View File

@ -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<QString, QString> values);
void buildBandActivitySortByMenu(QMenu * menu);
void buildCallActivitySortByMenu(QMenu * menu);
void buildQueryMenu(QMenu *, QString callsign);
void on_queryButton_pressed();
void on_macrosMacroButton_pressed();

View File

@ -4353,6 +4353,9 @@ list. The list can be maintained in Settings (F2).</string>
<property name="title">
<string>Window</string>
</property>
<addaction name="actionSort_Band_Activity"/>
<addaction name="actionSort_Call_Activity"/>
<addaction name="separator"/>
<addaction name="actionShow_Band_Activity"/>
<addaction name="actionShow_Call_Activity"/>
<addaction name="actionShow_Waterfall"/>
@ -5048,6 +5051,16 @@ list. The list can be maintained in Settings (F2).</string>
<string>Reset Window Sizes</string>
</property>
</action>
<action name="actionSort_Band_Activity">
<property name="text">
<string>Sort Band Activity...</string>
</property>
</action>
<action name="actionSort_Call_Activity">
<property name="text">
<string>Sort Call Activity...</string>
</property>
</action>
</widget>
<layoutdefault spacing="6" margin="11"/>
<customwidgets>