Added ack sorting
This commit is contained in:
parent
e5f4cd4753
commit
85ccc14549
@ -7467,6 +7467,7 @@ void MainWindow::buildBandActivitySortByMenu(QMenu * menu){
|
|||||||
void MainWindow::buildCallActivitySortByMenu(QMenu * menu){
|
void MainWindow::buildCallActivitySortByMenu(QMenu * menu){
|
||||||
buildSortByMenu(menu, "callActivity", "callsign", {
|
buildSortByMenu(menu, "callActivity", "callsign", {
|
||||||
{"Callsign", "callsign"},
|
{"Callsign", "callsign"},
|
||||||
|
{"Callsigns Replied (recent first)", "ackTimestamp"},
|
||||||
{"Frequency offset", "offset"},
|
{"Frequency offset", "offset"},
|
||||||
{"Distance (closest first)", "distance"},
|
{"Distance (closest first)", "distance"},
|
||||||
{"Distance (farthest first)", "-distance"},
|
{"Distance (farthest first)", "-distance"},
|
||||||
@ -10228,6 +10229,20 @@ void MainWindow::displayCallActivity() {
|
|||||||
return leftActivity.utcTimestamp < rightActivity.utcTimestamp;
|
return leftActivity.utcTimestamp < rightActivity.utcTimestamp;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
auto compareAckTimestamp = [this, reverse](const QString left, QString right) {
|
||||||
|
auto leftActivity = m_callActivity[left];
|
||||||
|
auto rightActivity = m_callActivity[right];
|
||||||
|
|
||||||
|
if(!leftActivity.ackTimestamp.isNull()){
|
||||||
|
|
||||||
|
}
|
||||||
|
if(!rightActivity.ackTimestamp.isNull()){
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
return rightActivity.ackTimestamp < leftActivity.ackTimestamp;
|
||||||
|
};
|
||||||
|
|
||||||
auto compareSNR = [this, reverse](const QString left, QString right) {
|
auto compareSNR = [this, reverse](const QString left, QString right) {
|
||||||
auto leftActivity = m_callActivity[left];
|
auto leftActivity = m_callActivity[left];
|
||||||
auto rightActivity = m_callActivity[right];
|
auto rightActivity = m_callActivity[right];
|
||||||
@ -10252,6 +10267,8 @@ void MainWindow::displayCallActivity() {
|
|||||||
qStableSort(keys.begin(), keys.end(), compareDistance);
|
qStableSort(keys.begin(), keys.end(), compareDistance);
|
||||||
} else if(sortBy == "timestamp"){
|
} else if(sortBy == "timestamp"){
|
||||||
qStableSort(keys.begin(), keys.end(), compareTimestamp);
|
qStableSort(keys.begin(), keys.end(), compareTimestamp);
|
||||||
|
} else if(sortBy == "ackTimestamp"){
|
||||||
|
qStableSort(keys.begin(), keys.end(), compareAckTimestamp);
|
||||||
} else if(sortBy == "snr"){
|
} else if(sortBy == "snr"){
|
||||||
qStableSort(keys.begin(), keys.end(), compareSNR);
|
qStableSort(keys.begin(), keys.end(), compareSNR);
|
||||||
}
|
}
|
||||||
@ -10274,7 +10291,7 @@ void MainWindow::displayCallActivity() {
|
|||||||
#if SHOW_THROUGH_CALLS
|
#if SHOW_THROUGH_CALLS
|
||||||
QString displayCall = d.through.isEmpty() ? d.call : QString("%1>%2").arg(d.through).arg(d.call);
|
QString displayCall = d.through.isEmpty() ? d.call : QString("%1>%2").arg(d.through).arg(d.call);
|
||||||
#else
|
#else
|
||||||
QString displayCall = d.ackTimestamp.isValid() ? QString("%1 *").arg(d.call) : d.call;
|
QString displayCall = d.ackTimestamp.isValid() ? QString("%1 \u2605").arg(d.call) : d.call;
|
||||||
#endif
|
#endif
|
||||||
auto displayItem = new QTableWidgetItem(displayCall);
|
auto displayItem = new QTableWidgetItem(displayCall);
|
||||||
displayItem->setData(Qt::UserRole, QVariant((d.call)));
|
displayItem->setData(Qt::UserRole, QVariant((d.call)));
|
||||||
|
Loading…
Reference in New Issue
Block a user