mirror of
https://github.com/f4exb/sdrangel.git
synced 2025-10-18 06:30:23 -04:00
ADS-B: Add departure and arrival notifications.
This commit is contained in:
parent
b935db0228
commit
8d54c7ec17
@ -5080,7 +5080,10 @@ void ADSBDemodGUI::checkDynamicNotification(Aircraft *aircraft)
|
|||||||
|| (m_settings.m_notificationSettings[i]->m_matchColumn == ADSB_COL_CATEGORY)
|
|| (m_settings.m_notificationSettings[i]->m_matchColumn == ADSB_COL_CATEGORY)
|
||||||
|| (m_settings.m_notificationSettings[i]->m_matchColumn == ADSB_COL_STATUS)
|
|| (m_settings.m_notificationSettings[i]->m_matchColumn == ADSB_COL_STATUS)
|
||||||
|| (m_settings.m_notificationSettings[i]->m_matchColumn == ADSB_COL_SQUAWK)
|
|| (m_settings.m_notificationSettings[i]->m_matchColumn == ADSB_COL_SQUAWK)
|
||||||
)
|
|| (m_settings.m_notificationSettings[i]->m_matchColumn == ADSB_COL_DEP)
|
||||||
|
|| (m_settings.m_notificationSettings[i]->m_matchColumn == ADSB_COL_ARR)
|
||||||
|
|| (m_settings.m_notificationSettings[i]->m_matchColumn == ADSB_COL_STOPS)
|
||||||
|
)
|
||||||
{
|
{
|
||||||
QString match;
|
QString match;
|
||||||
switch (m_settings.m_notificationSettings[i]->m_matchColumn)
|
switch (m_settings.m_notificationSettings[i]->m_matchColumn)
|
||||||
@ -5106,6 +5109,15 @@ void ADSBDemodGUI::checkDynamicNotification(Aircraft *aircraft)
|
|||||||
case ADSB_COL_SQUAWK:
|
case ADSB_COL_SQUAWK:
|
||||||
match = aircraft->m_squawkItem->data(Qt::DisplayRole).toString();
|
match = aircraft->m_squawkItem->data(Qt::DisplayRole).toString();
|
||||||
break;
|
break;
|
||||||
|
case ADSB_COL_DEP:
|
||||||
|
match = aircraft->m_depItem->data(Qt::DisplayRole).toString();
|
||||||
|
break;
|
||||||
|
case ADSB_COL_ARR:
|
||||||
|
match = aircraft->m_arrItem->data(Qt::DisplayRole).toString();
|
||||||
|
break;
|
||||||
|
case ADSB_COL_STOPS:
|
||||||
|
match = aircraft->m_stopsItem->data(Qt::DisplayRole).toString();
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -28,7 +28,8 @@ std::vector<int> ADSBDemodNotificationDialog::m_columnMap = {
|
|||||||
ADSB_COL_ICAO, ADSB_COL_CALLSIGN, ADSB_COL_MODEL, ADSB_COL_TYPE,
|
ADSB_COL_ICAO, ADSB_COL_CALLSIGN, ADSB_COL_MODEL, ADSB_COL_TYPE,
|
||||||
ADSB_COL_ALTITUDE, ADSB_COL_GROUND_SPEED, ADSB_COL_RANGE,
|
ADSB_COL_ALTITUDE, ADSB_COL_GROUND_SPEED, ADSB_COL_RANGE,
|
||||||
ADSB_COL_CATEGORY, ADSB_COL_STATUS, ADSB_COL_SQUAWK,
|
ADSB_COL_CATEGORY, ADSB_COL_STATUS, ADSB_COL_SQUAWK,
|
||||||
ADSB_COL_REGISTRATION, ADSB_COL_MANUFACTURER, ADSB_COL_OWNER, ADSB_COL_OPERATOR_ICAO
|
ADSB_COL_REGISTRATION, ADSB_COL_MANUFACTURER, ADSB_COL_OWNER, ADSB_COL_OPERATOR_ICAO,
|
||||||
|
ADSB_COL_ARR, ADSB_COL_DEP, ADSB_COL_STOPS
|
||||||
};
|
};
|
||||||
|
|
||||||
ADSBDemodNotificationDialog::ADSBDemodNotificationDialog(ADSBDemodSettings *settings,
|
ADSBDemodNotificationDialog::ADSBDemodNotificationDialog(ADSBDemodSettings *settings,
|
||||||
@ -75,8 +76,8 @@ void ADSBDemodNotificationDialog::resizeTable()
|
|||||||
ADSBDemodSettings::NotificationSettings dummy;
|
ADSBDemodSettings::NotificationSettings dummy;
|
||||||
dummy.m_matchColumn = ADSB_COL_MANUFACTURER;
|
dummy.m_matchColumn = ADSB_COL_MANUFACTURER;
|
||||||
dummy.m_regExp = "No emergency and some";
|
dummy.m_regExp = "No emergency and some";
|
||||||
dummy.m_speech = "${aircraft} ${reg} has entered your airspace";
|
dummy.m_speech = "${type} ${reg} has entered your airspace";
|
||||||
dummy.m_command = "/usr/home/sdrangel/myscript ${aircraft} ${reg}";
|
dummy.m_command = "/usr/home/sdrangel/myscript ${type} ${reg}";
|
||||||
dummy.m_autoTarget = false;
|
dummy.m_autoTarget = false;
|
||||||
addRow(&dummy);
|
addRow(&dummy);
|
||||||
ui->table->resizeColumnsToContents();
|
ui->table->resizeColumnsToContents();
|
||||||
@ -128,6 +129,9 @@ void ADSBDemodNotificationDialog::addRow(ADSBDemodSettings::NotificationSettings
|
|||||||
match->addItem("Manufacturer");
|
match->addItem("Manufacturer");
|
||||||
match->addItem("Owner");
|
match->addItem("Owner");
|
||||||
match->addItem("Operator");
|
match->addItem("Operator");
|
||||||
|
match->addItem("Arr");
|
||||||
|
match->addItem("Dep");
|
||||||
|
match->addItem("Stops");
|
||||||
|
|
||||||
QTableWidgetItem *regExpItem = new QTableWidgetItem();
|
QTableWidgetItem *regExpItem = new QTableWidgetItem();
|
||||||
QTableWidgetItem *speechItem = new QTableWidgetItem();
|
QTableWidgetItem *speechItem = new QTableWidgetItem();
|
||||||
@ -146,12 +150,13 @@ void ADSBDemodNotificationDialog::addRow(ADSBDemodSettings::NotificationSettings
|
|||||||
regExpItem->setData(Qt::DisplayRole, settings->m_regExp);
|
regExpItem->setData(Qt::DisplayRole, settings->m_regExp);
|
||||||
speechItem->setData(Qt::DisplayRole, settings->m_speech);
|
speechItem->setData(Qt::DisplayRole, settings->m_speech);
|
||||||
commandItem->setData(Qt::DisplayRole, settings->m_command);
|
commandItem->setData(Qt::DisplayRole, settings->m_command);
|
||||||
|
autoTarget->setChecked(settings->m_autoTarget);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
match->setCurrentIndex(2);
|
match->setCurrentIndex(2);
|
||||||
regExpItem->setData(Qt::DisplayRole, ".*");
|
regExpItem->setData(Qt::DisplayRole, ".*");
|
||||||
speechItem->setData(Qt::DisplayRole, "${aircraft} detected");
|
speechItem->setData(Qt::DisplayRole, "${type} detected");
|
||||||
}
|
}
|
||||||
|
|
||||||
ui->table->setSortingEnabled(false);
|
ui->table->setSortingEnabled(false);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user