mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-04-03 15:45:46 +08:00
refs #789, improvements when addressing FSX driver issue
* added new utility funtion is model list / aircraft list * added setters/getters for CSimConnectObject * added setters/getters for InterpolationStatus / PartsStatus * added CSimConnectObjects (better encapsulation)
This commit is contained in:
@@ -54,6 +54,16 @@ namespace BlackMisc
|
||||
return false;
|
||||
}
|
||||
|
||||
bool CAircraftModelList::containsCallsign(const CCallsign &callsign) const
|
||||
{
|
||||
return this->contains(&CAircraftModel::getCallsign, callsign);
|
||||
}
|
||||
|
||||
bool CAircraftModelList::containsModelsWithAircraftAndAirlineDesignator(const QString &aircraftDesignator, const QString &airlineDesignator) const
|
||||
{
|
||||
return this->contains(&CAircraftModel::getAircraftIcaoCodeDesignator, aircraftDesignator, &CAircraftModel::getAirlineIcaoCodeDesignator, airlineDesignator);
|
||||
}
|
||||
|
||||
CAircraftModelList CAircraftModelList::findByModelString(const QString &modelString, Qt::CaseSensitivity sensitivity) const
|
||||
{
|
||||
return this->findBy([ & ](const CAircraftModel & model)
|
||||
|
||||
@@ -65,6 +65,12 @@ namespace BlackMisc
|
||||
//! Contains model with model string or id
|
||||
bool containsModelStringOrDbKey(const BlackMisc::Simulation::CAircraftModel &model, Qt::CaseSensitivity sensitivity = Qt::CaseInsensitive) const;
|
||||
|
||||
//! Contains model for callsign
|
||||
bool containsCallsign(const BlackMisc::Aviation::CCallsign &callsign) const;
|
||||
|
||||
//! Contains any model with aircraft and airline designator
|
||||
bool containsModelsWithAircraftAndAirlineDesignator(const QString &aircraftDesignator, const QString &airlineDesignator) const;
|
||||
|
||||
//! Find by model string
|
||||
//! \remark normally CAircraftModelList::findFirstByModelStringOrDefault would be used
|
||||
CAircraftModelList findByModelString(const QString &modelString, Qt::CaseSensitivity sensitivity = Qt::CaseInsensitive) const;
|
||||
|
||||
@@ -153,5 +153,18 @@ namespace BlackMisc
|
||||
return false;
|
||||
}
|
||||
|
||||
bool CSimulatedAircraftList::replaceOrAddByCallsign(const CSimulatedAircraft &aircraft)
|
||||
{
|
||||
const CCallsign cs(aircraft.getCallsign());
|
||||
if (cs.isEmpty()) { return false; }
|
||||
|
||||
if (this->containsCallsign(cs))
|
||||
{
|
||||
int c = this->replaceIf(&CSimulatedAircraft::getCallsign, cs, aircraft);
|
||||
return c > 0;
|
||||
}
|
||||
this->push_back(aircraft);
|
||||
return true;
|
||||
}
|
||||
} // namespace
|
||||
} // namespace
|
||||
|
||||
@@ -92,8 +92,9 @@ namespace BlackMisc
|
||||
//! Rendered?
|
||||
bool isRendered(const BlackMisc::Aviation::CCallsign &callsign) const;
|
||||
|
||||
//! Replace or add by callsign
|
||||
bool replaceOrAddByCallsign(const CSimulatedAircraft &aircraft);
|
||||
};
|
||||
|
||||
} //namespace
|
||||
} // namespace
|
||||
|
||||
|
||||
Reference in New Issue
Block a user