mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-03-24 07:55:35 +08:00
refs #793, display mismatch between rendered and network model
* utility functions to display that info * added in aircraft model
This commit is contained in:
@@ -96,8 +96,10 @@ namespace BlackGui
|
||||
this->m_columns.addColumn(CColumn::standardString("realname", "pilot's real name", { CSimulatedAircraft::IndexPilot, CUser::IndexRealName }));
|
||||
this->m_columns.addColumn(CColumn::standardString("icao", CSimulatedAircraft::IndexCombinedIcaoLiveryString));
|
||||
this->m_columns.addColumn(CColumn::standardString("model", { CSimulatedAircraft::IndexModel, CAircraftModel::IndexModelString}));
|
||||
this->m_columns.addColumn(CColumn::standardString("desc.", "description", { CSimulatedAircraft::IndexModel, CAircraftModel::IndexDescription}));
|
||||
this->m_columns.addColumn(CColumn::standardString("type", { CSimulatedAircraft::IndexModel, CAircraftModel::IndexModelTypeAsString}));
|
||||
this->m_columns.addColumn(CColumn::standardString("desc.", "description", { CSimulatedAircraft::IndexModel, CAircraftModel::IndexDescription}));
|
||||
this->m_columns.addColumn(CColumn::standardString("aircraft", "rendered vs. network aircraft ICAO", CSimulatedAircraft::IndexNetworkModelAircraftIcaoDifference));
|
||||
this->m_columns.addColumn(CColumn::standardString("livery", "rendered vs. network livery", CSimulatedAircraft::IndexNetworkModelLiveryDifference));
|
||||
|
||||
// default sort order
|
||||
this->setSortColumnByPropertyIndex(CSimulatedAircraft::IndexRelativeDistance);
|
||||
|
||||
@@ -280,6 +280,12 @@ namespace BlackMisc
|
||||
return this->getModel().propertyByIndex(index.copyFrontRemoved());
|
||||
case IndexNetworkModel:
|
||||
return this->getNetworkModel().propertyByIndex(index.copyFrontRemoved());
|
||||
case IndexNetworkModelAircraftIcaoDifference:
|
||||
return this->getNetworkModelAircraftIcaoDifference();
|
||||
case IndexNetworkModelAirlineIcaoDifference:
|
||||
return this->getNetworkModelAirlineIcaoDifference();
|
||||
case IndexNetworkModelLiveryDifference:
|
||||
return this->getNetworkModelLiveryDifference();
|
||||
case IndexEnabled:
|
||||
return CVariant::fromValue(this->isEnabled());
|
||||
case IndexRendered:
|
||||
@@ -451,6 +457,33 @@ namespace BlackMisc
|
||||
return this->m_networkModel.hasModelString() || !this->m_networkModel.getCallsign().isEmpty();
|
||||
}
|
||||
|
||||
QString CSimulatedAircraft::getNetworkModelAircraftIcaoDifference() const
|
||||
{
|
||||
const CAircraftIcaoCode icao(this->getModel().getAircraftIcaoCode());
|
||||
const CAircraftIcaoCode icaoNw(this->getNetworkModel().getAircraftIcaoCode());
|
||||
if (icao == icaoNw || icao.getDesignator() == icaoNw.getDesignator()) { return "[=] " + icao.getDesignator(); }
|
||||
static const QString diff("%1 -> %2");
|
||||
return diff.arg(icaoNw.getDesignator(), icao.getDesignator());
|
||||
}
|
||||
|
||||
QString CSimulatedAircraft::getNetworkModelAirlineIcaoDifference() const
|
||||
{
|
||||
const CAirlineIcaoCode icao(this->getModel().getAirlineIcaoCode());
|
||||
const CAirlineIcaoCode icaoNw(this->getNetworkModel().getAirlineIcaoCode());
|
||||
if (icao == icaoNw || icao.getDesignator() == icaoNw.getDesignator()) { return "[=] " + icao.getDesignator(); }
|
||||
static const QString diff("%1 -> %2");
|
||||
return diff.arg(icaoNw.getDesignator(), icao.getDesignator());
|
||||
}
|
||||
|
||||
QString CSimulatedAircraft::getNetworkModelLiveryDifference() const
|
||||
{
|
||||
const CLivery livery(this->getModel().getLivery());
|
||||
const CLivery liveryNw(this->getNetworkModel().getLivery());
|
||||
if (livery == liveryNw) { return "[=] " + livery.getCombinedCodePlusInfo(); }
|
||||
static const QString diff("%1 -> %2");
|
||||
return diff.arg(liveryNw.getCombinedCodePlusInfo(), livery.getCombinedCodePlusInfo());
|
||||
}
|
||||
|
||||
void CSimulatedAircraft::setModel(const CAircraftModel &model)
|
||||
{
|
||||
// sync the callsigns
|
||||
|
||||
@@ -353,6 +353,15 @@ namespace BlackMisc
|
||||
//! Has a network model been set?
|
||||
bool hasNetworkModel() const;
|
||||
|
||||
//! Difference of network and (rendered) aircraft ICAO code
|
||||
QString getNetworkModelAircraftIcaoDifference() const;
|
||||
|
||||
//! Difference of network and (rendered) airline ICAO code
|
||||
QString getNetworkModelAirlineIcaoDifference() const;
|
||||
|
||||
//! Difference of network and (rendered) livery code
|
||||
QString getNetworkModelLiveryDifference() const;
|
||||
|
||||
//! \copydoc BlackMisc::Simulation::CAircraftModel::getIconPath
|
||||
const QString &getIconPath() const { return m_model.getIconPath(); }
|
||||
|
||||
|
||||
Reference in New Issue
Block a user