mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-04-13 15:45:42 +08:00
Ref T219, some FP renamings and fix to set prefix/postfix in FP value object
This commit is contained in:
@@ -511,7 +511,7 @@ namespace BlackSample
|
|||||||
{
|
{
|
||||||
const QString rules = flightPlan.getFlightRulesAsString();
|
const QString rules = flightPlan.getFlightRulesAsString();
|
||||||
std::cout << "FLIGHTPLAN " << callsign
|
std::cout << "FLIGHTPLAN " << callsign
|
||||||
<< flightPlan.getPrefixIcaoSuffix().toStdString() << " " << flightPlan.getOriginAirportIcao() << " "
|
<< flightPlan.getCombinedPrefixIcaoSuffix().toStdString() << " " << flightPlan.getOriginAirportIcao() << " "
|
||||||
<< flightPlan.getDestinationAirportIcao() << " " << flightPlan.getAlternateAirportIcao() << " "
|
<< flightPlan.getDestinationAirportIcao() << " " << flightPlan.getAlternateAirportIcao() << " "
|
||||||
<< flightPlan.getTakeoffTimePlannedHourMin().toStdString() << " " << flightPlan.getTakeoffTimeActualHourMin().toStdString() << " "
|
<< flightPlan.getTakeoffTimePlannedHourMin().toStdString() << " " << flightPlan.getTakeoffTimeActualHourMin().toStdString() << " "
|
||||||
<< flightPlan.getEnrouteTime() << " " << flightPlan.getFuelTime() << " "
|
<< flightPlan.getEnrouteTime() << " " << flightPlan.getFuelTime() << " "
|
||||||
|
|||||||
@@ -597,7 +597,7 @@ namespace BlackCore
|
|||||||
// const QString alt = flightPlan.getCruiseAltitude().asFpAltitudeString();
|
// const QString alt = flightPlan.getCruiseAltitude().asFpAltitudeString();
|
||||||
|
|
||||||
QByteArray acTypeTemp, altAptTemp, cruiseAltTemp, depAptTemp, destAptTemp, routeTemp, remarksTemp;
|
QByteArray acTypeTemp, altAptTemp, cruiseAltTemp, depAptTemp, destAptTemp, routeTemp, remarksTemp;
|
||||||
vatlibFP.aircraftType = acTypeTemp = toFSD(flightPlan.getPrefixIcaoSuffix());
|
vatlibFP.aircraftType = acTypeTemp = toFSD(flightPlan.getCombinedPrefixIcaoSuffix());
|
||||||
vatlibFP.alternateAirport = altAptTemp = toFSD(flightPlan.getAlternateAirportIcao().asString());
|
vatlibFP.alternateAirport = altAptTemp = toFSD(flightPlan.getAlternateAirportIcao().asString());
|
||||||
vatlibFP.cruiseAltitude = cruiseAltTemp = toFSD(alt);
|
vatlibFP.cruiseAltitude = cruiseAltTemp = toFSD(alt);
|
||||||
vatlibFP.departAirport = depAptTemp = toFSD(flightPlan.getOriginAirportIcao().asString());
|
vatlibFP.departAirport = depAptTemp = toFSD(flightPlan.getOriginAirportIcao().asString());
|
||||||
|
|||||||
@@ -156,7 +156,7 @@ namespace BlackGui
|
|||||||
|
|
||||||
void CFlightPlanComponent::loginDataSet()
|
void CFlightPlanComponent::loginDataSet()
|
||||||
{
|
{
|
||||||
if (m_flightPlan.wasSentOrLoaded()) { return; } // when loaded or sent do not override
|
if (m_sentFlightPlan.wasSentOrLoaded()) { return; } // when loaded or sent do not override
|
||||||
this->prefillWithOwnAircraftData();
|
this->prefillWithOwnAircraftData();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -171,7 +171,7 @@ namespace BlackGui
|
|||||||
|
|
||||||
void CFlightPlanComponent::prefillWithAircraftData(const CSimulatedAircraft &aircraft)
|
void CFlightPlanComponent::prefillWithAircraftData(const CSimulatedAircraft &aircraft)
|
||||||
{
|
{
|
||||||
if (m_flightPlan.wasSentOrLoaded()) { return; }
|
if (m_sentFlightPlan.wasSentOrLoaded()) { return; }
|
||||||
|
|
||||||
// only override with valid values
|
// only override with valid values
|
||||||
if (CCallsign::isValidAircraftCallsign(aircraft.getCallsignAsString()))
|
if (CCallsign::isValidAircraftCallsign(aircraft.getCallsignAsString()))
|
||||||
@@ -189,7 +189,7 @@ namespace BlackGui
|
|||||||
|
|
||||||
void CFlightPlanComponent::prefillWithUserData(const CUser &user)
|
void CFlightPlanComponent::prefillWithUserData(const CUser &user)
|
||||||
{
|
{
|
||||||
if (m_flightPlan.wasSentOrLoaded()) { return; }
|
if (m_sentFlightPlan.wasSentOrLoaded()) { return; }
|
||||||
|
|
||||||
// only override with valid values
|
// only override with valid values
|
||||||
if (user.hasRealName())
|
if (user.hasRealName())
|
||||||
@@ -228,15 +228,15 @@ namespace BlackGui
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
CFlightPlan CFlightPlanComponent::getFlightPlan() const
|
const CLogCategoryList &CFlightPlanComponent::getLogCategories()
|
||||||
{
|
{
|
||||||
return m_flightPlan;
|
static const CLogCategoryList cats { CLogCategory::flightPlan(), CLogCategory::guiComponent() };
|
||||||
|
return cats;
|
||||||
}
|
}
|
||||||
|
|
||||||
CStatusMessageList CFlightPlanComponent::validateAndInitializeFlightPlan(CFlightPlan &flightPlan)
|
CStatusMessageList CFlightPlanComponent::validateAndInitializeFlightPlan(CFlightPlan &flightPlan)
|
||||||
{
|
{
|
||||||
CStatusMessageList messages;
|
CStatusMessageList messages;
|
||||||
QString v;
|
|
||||||
const bool strict = ui->cb_StrictCheck->isChecked();
|
const bool strict = ui->cb_StrictCheck->isChecked();
|
||||||
const bool vfr = this->isVfr();
|
const bool vfr = this->isVfr();
|
||||||
const CStatusMessage::StatusSeverity severity = strict ? CStatusMessage::SeverityError : CStatusMessage::SeverityWarning;
|
const CStatusMessage::StatusSeverity severity = strict ? CStatusMessage::SeverityError : CStatusMessage::SeverityWarning;
|
||||||
@@ -246,6 +246,7 @@ namespace BlackGui
|
|||||||
flightPlan.setFlightRule(rule);
|
flightPlan.setFlightRule(rule);
|
||||||
|
|
||||||
// callsign
|
// callsign
|
||||||
|
QString v;
|
||||||
v = ui->le_Callsign->text().trimmed().toUpper();
|
v = ui->le_Callsign->text().trimmed().toUpper();
|
||||||
if (v.isEmpty())
|
if (v.isEmpty())
|
||||||
{
|
{
|
||||||
@@ -267,12 +268,27 @@ namespace BlackGui
|
|||||||
{
|
{
|
||||||
messages.push_back(CStatusMessage(this).validationError("Invalid aircraft ICAO code '%1'") << v);
|
messages.push_back(CStatusMessage(this).validationError("Invalid aircraft ICAO code '%1'") << v);
|
||||||
}
|
}
|
||||||
else if (sApp && sApp->hasWebDataServices() && !sApp->getWebDataServices()->containsAircraftIcaoDesignator(v))
|
else if (sApp && sApp->hasWebDataServices() && sApp->getWebDataServices()->hasDbAircraftData() && !sApp->getWebDataServices()->containsAircraftIcaoDesignator(v))
|
||||||
{
|
{
|
||||||
messages.push_back(CStatusMessage(this).validationWarning("Are you sure '%1' is a valid type?") << v);
|
messages.push_back(CStatusMessage(this).validationWarning("Are you sure '%1' is a valid type?") << v);
|
||||||
}
|
}
|
||||||
flightPlan.setAircraftIcao(this->getAircraftIcaoCode());
|
flightPlan.setAircraftIcao(this->getAircraftIcaoCode());
|
||||||
|
|
||||||
|
// prefix / equipment code
|
||||||
|
v = this->getPrefix();
|
||||||
|
if (!v.isEmpty() && !CFlightPlan::prefixCodes().contains(v))
|
||||||
|
{
|
||||||
|
messages.push_back(CStatusMessage(this).validation(severity, "Invalid prefix"));
|
||||||
|
}
|
||||||
|
flightPlan.setPrefix(v);
|
||||||
|
|
||||||
|
v = this->getEquipmentSuffix();
|
||||||
|
if (!v.isEmpty() && !CFlightPlan::equipmentCodes().contains(v))
|
||||||
|
{
|
||||||
|
messages.push_back(CStatusMessage(this).validation(severity, "Invalid equipment code"));
|
||||||
|
}
|
||||||
|
flightPlan.setEquipmentSuffix(v);
|
||||||
|
|
||||||
// route
|
// route
|
||||||
v = ui->pte_Route->toPlainText().trimmed();
|
v = ui->pte_Route->toPlainText().trimmed();
|
||||||
if (v.isEmpty())
|
if (v.isEmpty())
|
||||||
@@ -418,7 +434,7 @@ namespace BlackGui
|
|||||||
}
|
}
|
||||||
ui->le_LastSent->setText(lastSent);
|
ui->le_LastSent->setText(lastSent);
|
||||||
this->showOverlayMessage(m, showOverlayMs);
|
this->showOverlayMessage(m, showOverlayMs);
|
||||||
m_flightPlan = flightPlan; // last valid FP
|
m_sentFlightPlan = flightPlan; // last valid FP
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -627,7 +643,7 @@ namespace BlackGui
|
|||||||
|
|
||||||
void CFlightPlanComponent::buildPrefixIcaoSuffix()
|
void CFlightPlanComponent::buildPrefixIcaoSuffix()
|
||||||
{
|
{
|
||||||
ui->le_PrefixIcaoSuffix->setText(this->getPrefixIcaoSuffix());
|
ui->le_PrefixIcaoSuffix->setText(this->getCombinedPrefixIcaoSuffix());
|
||||||
}
|
}
|
||||||
|
|
||||||
void CFlightPlanComponent::prefixCheckBoxChanged()
|
void CFlightPlanComponent::prefixCheckBoxChanged()
|
||||||
@@ -673,13 +689,11 @@ namespace BlackGui
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
QString CFlightPlanComponent::getPrefixIcaoSuffix() const
|
QString CFlightPlanComponent::getPrefix() const
|
||||||
{
|
{
|
||||||
QString prefix;
|
if (ui->cb_Heavy->isChecked()) { return QStringLiteral("H"); }
|
||||||
if (ui->cb_Heavy->isChecked()) { prefix = QStringLiteral("H"); }
|
else if (ui->cb_Tcas->isChecked()) { return QStringLiteral("T"); }
|
||||||
else if (ui->cb_Tcas->isChecked()) { prefix = QStringLiteral("T"); }
|
return QStringLiteral("");
|
||||||
|
|
||||||
return CFlightPlan::concatPrefixIcaoSuffix(prefix, ui->le_AircraftType->text().toUpper().trimmed(), ui->le_EquipmentSuffix->text().trimmed().toUpper());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
CAircraftIcaoCode CFlightPlanComponent::getAircraftIcaoCode() const
|
CAircraftIcaoCode CFlightPlanComponent::getAircraftIcaoCode() const
|
||||||
@@ -689,6 +703,16 @@ namespace BlackGui
|
|||||||
return sApp->getWebDataServices()->getAircraftIcaoCodeForDesignator(designator);
|
return sApp->getWebDataServices()->getAircraftIcaoCodeForDesignator(designator);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QString CFlightPlanComponent::getEquipmentSuffix() const
|
||||||
|
{
|
||||||
|
return ui->le_EquipmentSuffix->text().trimmed().toUpper();
|
||||||
|
}
|
||||||
|
|
||||||
|
QString CFlightPlanComponent::getCombinedPrefixIcaoSuffix() const
|
||||||
|
{
|
||||||
|
return CFlightPlan::concatPrefixIcaoSuffix(this->getPrefix(), this->getAircraftIcaoCode().getDesignator(), this->getEquipmentSuffix());
|
||||||
|
}
|
||||||
|
|
||||||
void CFlightPlanComponent::showEquipmentCodesTab()
|
void CFlightPlanComponent::showEquipmentCodesTab()
|
||||||
{
|
{
|
||||||
this->setCurrentWidget(ui->tb_EquipmentCodes);
|
this->setCurrentWidget(ui->tb_EquipmentCodes);
|
||||||
|
|||||||
@@ -22,6 +22,7 @@
|
|||||||
#include "blackmisc/datacache.h"
|
#include "blackmisc/datacache.h"
|
||||||
#include "blackmisc/identifier.h"
|
#include "blackmisc/identifier.h"
|
||||||
#include "blackmisc/statusmessagelist.h"
|
#include "blackmisc/statusmessagelist.h"
|
||||||
|
#include "blackmisc/logcategorylist.h"
|
||||||
|
|
||||||
#include <QObject>
|
#include <QObject>
|
||||||
#include <QScopedPointer>
|
#include <QScopedPointer>
|
||||||
@@ -53,12 +54,15 @@ namespace BlackGui
|
|||||||
//! Prefill with aircraft dara
|
//! Prefill with aircraft dara
|
||||||
void fillWithFlightPlanData(const BlackMisc::Aviation::CFlightPlan &flightPlan);
|
void fillWithFlightPlanData(const BlackMisc::Aviation::CFlightPlan &flightPlan);
|
||||||
|
|
||||||
//! Get this flight plan
|
//! Get sent flight plan
|
||||||
BlackMisc::Aviation::CFlightPlan getFlightPlan() const;
|
const BlackMisc::Aviation::CFlightPlan &getSentFlightPlan() const { return m_sentFlightPlan; }
|
||||||
|
|
||||||
|
//! Log.categories
|
||||||
|
static const BlackMisc::CLogCategoryList &getLogCategories();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
QScopedPointer<Ui::CFlightPlanComponent> ui;
|
QScopedPointer<Ui::CFlightPlanComponent> ui;
|
||||||
BlackMisc::Aviation::CFlightPlan m_flightPlan; //!< My flight plan
|
BlackMisc::Aviation::CFlightPlan m_sentFlightPlan; //!< My flight plan
|
||||||
BlackMisc::Simulation::CAircraftModel m_model; //!< currently used model
|
BlackMisc::Simulation::CAircraftModel m_model; //!< currently used model
|
||||||
BlackMisc::CIdentifier m_identifier { "FlightPlanComponent", this }; //!< Flightplan identifier
|
BlackMisc::CIdentifier m_identifier { "FlightPlanComponent", this }; //!< Flightplan identifier
|
||||||
BlackMisc::CDataReadOnly<BlackMisc::Simulation::Data::TLastModel> m_lastAircraftModel { this }; //!< recently used aircraft model
|
BlackMisc::CDataReadOnly<BlackMisc::Simulation::Data::TLastModel> m_lastAircraftModel { this }; //!< recently used aircraft model
|
||||||
@@ -144,12 +148,18 @@ namespace BlackGui
|
|||||||
//! Aircraft type changed
|
//! Aircraft type changed
|
||||||
void aircraftTypeChanged();
|
void aircraftTypeChanged();
|
||||||
|
|
||||||
//! Something like "H/B737/F"
|
//! Get prefix
|
||||||
QString getPrefixIcaoSuffix() const;
|
QString getPrefix() const;
|
||||||
|
|
||||||
//! Aircraft type as ICAO code
|
//! Aircraft type as ICAO code
|
||||||
BlackMisc::Aviation::CAircraftIcaoCode getAircraftIcaoCode() const;
|
BlackMisc::Aviation::CAircraftIcaoCode getAircraftIcaoCode() const;
|
||||||
|
|
||||||
|
//! Get equipment code (1 char)
|
||||||
|
QString getEquipmentSuffix() const;
|
||||||
|
|
||||||
|
//! Something like "H/B737/F"
|
||||||
|
QString getCombinedPrefixIcaoSuffix() const;
|
||||||
|
|
||||||
//! Show tab of equipment codes
|
//! Show tab of equipment codes
|
||||||
void showEquipmentCodesTab();
|
void showEquipmentCodesTab();
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user