mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-04-17 02:45:33 +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("realname", "pilot's real name", { CSimulatedAircraft::IndexPilot, CUser::IndexRealName }));
|
||||||
this->m_columns.addColumn(CColumn::standardString("icao", CSimulatedAircraft::IndexCombinedIcaoLiveryString));
|
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("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("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
|
// default sort order
|
||||||
this->setSortColumnByPropertyIndex(CSimulatedAircraft::IndexRelativeDistance);
|
this->setSortColumnByPropertyIndex(CSimulatedAircraft::IndexRelativeDistance);
|
||||||
|
|||||||
@@ -280,6 +280,12 @@ namespace BlackMisc
|
|||||||
return this->getModel().propertyByIndex(index.copyFrontRemoved());
|
return this->getModel().propertyByIndex(index.copyFrontRemoved());
|
||||||
case IndexNetworkModel:
|
case IndexNetworkModel:
|
||||||
return this->getNetworkModel().propertyByIndex(index.copyFrontRemoved());
|
return this->getNetworkModel().propertyByIndex(index.copyFrontRemoved());
|
||||||
|
case IndexNetworkModelAircraftIcaoDifference:
|
||||||
|
return this->getNetworkModelAircraftIcaoDifference();
|
||||||
|
case IndexNetworkModelAirlineIcaoDifference:
|
||||||
|
return this->getNetworkModelAirlineIcaoDifference();
|
||||||
|
case IndexNetworkModelLiveryDifference:
|
||||||
|
return this->getNetworkModelLiveryDifference();
|
||||||
case IndexEnabled:
|
case IndexEnabled:
|
||||||
return CVariant::fromValue(this->isEnabled());
|
return CVariant::fromValue(this->isEnabled());
|
||||||
case IndexRendered:
|
case IndexRendered:
|
||||||
@@ -451,6 +457,33 @@ namespace BlackMisc
|
|||||||
return this->m_networkModel.hasModelString() || !this->m_networkModel.getCallsign().isEmpty();
|
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)
|
void CSimulatedAircraft::setModel(const CAircraftModel &model)
|
||||||
{
|
{
|
||||||
// sync the callsigns
|
// sync the callsigns
|
||||||
|
|||||||
@@ -353,6 +353,15 @@ namespace BlackMisc
|
|||||||
//! Has a network model been set?
|
//! Has a network model been set?
|
||||||
bool hasNetworkModel() const;
|
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
|
//! \copydoc BlackMisc::Simulation::CAircraftModel::getIconPath
|
||||||
const QString &getIconPath() const { return m_model.getIconPath(); }
|
const QString &getIconPath() const { return m_model.getIconPath(); }
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user