Added sort activity tables by speed
This commit is contained in:
parent
d7985797a0
commit
05c45ed794
@ -1910,7 +1910,7 @@ void MainWindow::initializeDummyData(){
|
|||||||
cd.utcTimestamp = dt;
|
cd.utcTimestamp = dt;
|
||||||
cd.grid = i == 5 ? "J042" : i == 6 ? " FN42FN42FN" : "";
|
cd.grid = i == 5 ? "J042" : i == 6 ? " FN42FN42FN" : "";
|
||||||
cd.tdrift = 0.1*i;
|
cd.tdrift = 0.1*i;
|
||||||
cd.submode = i % 4;
|
cd.submode = i % 3;
|
||||||
logCallActivity(cd, false);
|
logCallActivity(cd, false);
|
||||||
|
|
||||||
ActivityDetail ad = {};
|
ActivityDetail ad = {};
|
||||||
@ -7968,11 +7968,11 @@ void MainWindow::buildShowColumnsMenu(QMenu *menu, QString tableKey){
|
|||||||
{"Last heard timestamp", "timestamp"},
|
{"Last heard timestamp", "timestamp"},
|
||||||
{"SNR", "snr"},
|
{"SNR", "snr"},
|
||||||
{"Time Delta", "tdrift"},
|
{"Time Delta", "tdrift"},
|
||||||
{"Mode Speed", "mode"},
|
{"Mode Speed", "submode"},
|
||||||
};
|
};
|
||||||
|
|
||||||
QMap<QString, bool> defaultOverride = {
|
QMap<QString, bool> defaultOverride = {
|
||||||
{"mode", false},
|
{"submode", false},
|
||||||
{"tdrift", false},
|
{"tdrift", false},
|
||||||
{"grid", false},
|
{"grid", false},
|
||||||
{"distance", false}
|
{"distance", false}
|
||||||
@ -8055,7 +8055,9 @@ void MainWindow::buildBandActivitySortByMenu(QMenu * menu){
|
|||||||
{"Last heard timestamp (oldest first)", "timestamp"},
|
{"Last heard timestamp (oldest first)", "timestamp"},
|
||||||
{"Last heard timestamp (recent first)", "-timestamp"},
|
{"Last heard timestamp (recent first)", "-timestamp"},
|
||||||
{"SNR (weakest first)", "snr"},
|
{"SNR (weakest first)", "snr"},
|
||||||
{"SNR (strongest first)", "-snr"}
|
{"SNR (strongest first)", "-snr"},
|
||||||
|
{"Mode Speed (slowest first)", "submode"},
|
||||||
|
{"Mode Speed (fastest first)", "-submode"}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -8069,7 +8071,9 @@ void MainWindow::buildCallActivitySortByMenu(QMenu * menu){
|
|||||||
{"Last heard timestamp (oldest first)", "timestamp"},
|
{"Last heard timestamp (oldest first)", "timestamp"},
|
||||||
{"Last heard timestamp (recent first)", "-timestamp"},
|
{"Last heard timestamp (recent first)", "-timestamp"},
|
||||||
{"SNR (weakest first)", "snr"},
|
{"SNR (weakest first)", "snr"},
|
||||||
{"SNR (strongest first)", "-snr"}
|
{"SNR (strongest first)", "-snr"},
|
||||||
|
{"Mode Speed (slowest first)", "submode"},
|
||||||
|
{"Mode Speed (fastest first)", "-submode"}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -11548,6 +11552,24 @@ void MainWindow::displayBandActivity() {
|
|||||||
return leftActivity.snr < rightActivity.snr;
|
return leftActivity.snr < rightActivity.snr;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
auto compareSubmode = [this](const int left, int right) {
|
||||||
|
auto leftItems = m_bandActivity[left];
|
||||||
|
auto rightItems = m_bandActivity[right];
|
||||||
|
|
||||||
|
if(leftItems.isEmpty()){
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(rightItems.isEmpty()){
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
auto leftLast = leftItems.last();
|
||||||
|
auto rightLast = rightItems.last();
|
||||||
|
|
||||||
|
return leftLast.submode < rightLast.submode;
|
||||||
|
};
|
||||||
|
|
||||||
// compare offset
|
// compare offset
|
||||||
qStableSort(keys.begin(), keys.end());
|
qStableSort(keys.begin(), keys.end());
|
||||||
|
|
||||||
@ -11555,6 +11577,8 @@ void MainWindow::displayBandActivity() {
|
|||||||
qStableSort(keys.begin(), keys.end(), compareTimestamp);
|
qStableSort(keys.begin(), keys.end(), compareTimestamp);
|
||||||
} else if(sortBy == "snr"){
|
} else if(sortBy == "snr"){
|
||||||
qStableSort(keys.begin(), keys.end(), compareSNR);
|
qStableSort(keys.begin(), keys.end(), compareSNR);
|
||||||
|
} else if(sortBy == "submode"){
|
||||||
|
qStableSort(keys.begin(), keys.end(), compareSubmode);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(reverse){
|
if(reverse){
|
||||||
@ -11764,7 +11788,7 @@ void MainWindow::displayBandActivity() {
|
|||||||
ui->tableWidgetRXAll->setColumnHidden(1, !showColumn("band", "timestamp"));
|
ui->tableWidgetRXAll->setColumnHidden(1, !showColumn("band", "timestamp"));
|
||||||
ui->tableWidgetRXAll->setColumnHidden(2, !showColumn("band", "snr"));
|
ui->tableWidgetRXAll->setColumnHidden(2, !showColumn("band", "snr"));
|
||||||
ui->tableWidgetRXAll->setColumnHidden(3, !showColumn("band", "tdrift", false));
|
ui->tableWidgetRXAll->setColumnHidden(3, !showColumn("band", "tdrift", false));
|
||||||
ui->tableWidgetRXAll->setColumnHidden(4, !showColumn("band", "mode", false));
|
ui->tableWidgetRXAll->setColumnHidden(4, !showColumn("band", "submode", false));
|
||||||
|
|
||||||
// Resize the table columns
|
// Resize the table columns
|
||||||
ui->tableWidgetRXAll->resizeColumnToContents(0);
|
ui->tableWidgetRXAll->resizeColumnToContents(0);
|
||||||
@ -11857,6 +11881,13 @@ void MainWindow::displayCallActivity() {
|
|||||||
return leftActivity.snr < rightActivity.snr;
|
return leftActivity.snr < rightActivity.snr;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
auto compareSubmode= [this](const QString left, QString right) {
|
||||||
|
auto leftActivity = m_callActivity[left];
|
||||||
|
auto rightActivity = m_callActivity[right];
|
||||||
|
|
||||||
|
return leftActivity.submode < rightActivity.submode;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
// compare callsign
|
// compare callsign
|
||||||
qStableSort(keys.begin(), keys.end());
|
qStableSort(keys.begin(), keys.end());
|
||||||
@ -11871,6 +11902,8 @@ void MainWindow::displayCallActivity() {
|
|||||||
qStableSort(keys.begin(), keys.end(), compareAckTimestamp);
|
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);
|
||||||
|
} else if(sortBy == "submode"){
|
||||||
|
qStableSort(keys.begin(), keys.end(), compareSubmode);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(reverse){
|
if(reverse){
|
||||||
@ -12093,7 +12126,7 @@ void MainWindow::displayCallActivity() {
|
|||||||
ui->tableWidgetCalls->setColumnHidden(3, !showColumn("call", "snr"));
|
ui->tableWidgetCalls->setColumnHidden(3, !showColumn("call", "snr"));
|
||||||
ui->tableWidgetCalls->setColumnHidden(4, !showColumn("call", "offset"));
|
ui->tableWidgetCalls->setColumnHidden(4, !showColumn("call", "offset"));
|
||||||
ui->tableWidgetCalls->setColumnHidden(5, !showColumn("call", "tdrift", false));
|
ui->tableWidgetCalls->setColumnHidden(5, !showColumn("call", "tdrift", false));
|
||||||
ui->tableWidgetCalls->setColumnHidden(6, !showColumn("call", "mode", false));
|
ui->tableWidgetCalls->setColumnHidden(6, !showColumn("call", "submode", false));
|
||||||
ui->tableWidgetCalls->setColumnHidden(7, !showColumn("call", "grid", false));
|
ui->tableWidgetCalls->setColumnHidden(7, !showColumn("call", "grid", false));
|
||||||
ui->tableWidgetCalls->setColumnHidden(8, !showColumn("call", "distance", false));
|
ui->tableWidgetCalls->setColumnHidden(8, !showColumn("call", "distance", false));
|
||||||
ui->tableWidgetCalls->setColumnHidden(9, !showColumn("call", "log"));
|
ui->tableWidgetCalls->setColumnHidden(9, !showColumn("call", "log"));
|
||||||
|
Loading…
Reference in New Issue
Block a user