refs #643, moved aircraft model icon loading to model class

* removed iconForModel from interface and aircraft config parser
* CPixmap support for loading pixmap from file
* Access to model of model set loader by model string
* icon path as member of CAircraftModel
This commit is contained in:
Klaus Basan
2016-04-15 18:49:55 +02:00
parent a3a3380008
commit ddc7347927
20 changed files with 143 additions and 67 deletions

View File

@@ -59,6 +59,15 @@ namespace BlackMisc
});
}
CAircraftModel CAircraftModelList::findFirstByCallsignOrDefault(const CCallsign &callsign) const
{
if (callsign.isEmpty()) { return CAircraftModel(); }
return this->findFirstByOrDefault([ = ](const CAircraftModel & model)
{
return model.getCallsign() == callsign;
});
}
CAircraftModelList CAircraftModelList::findByIcaoDesignators(const CAircraftIcaoCode &aircraftIcaoCode, const CAirlineIcaoCode &airlineIcaoCode) const
{
const QString aircraft(aircraftIcaoCode.getDesignator());
@@ -180,6 +189,20 @@ namespace BlackMisc
});
}
QString CAircraftModelList::findModelIconPathByModelString(const QString &modelString) const
{
if (modelString.isEmpty()) { return ""; }
const CAircraftModel m(findFirstByModelStringOrDefault(modelString, Qt::CaseInsensitive));
return m.getIconPath();
}
QString CAircraftModelList::findModelIconPathByCallsign(const CCallsign &callsign) const
{
if (callsign.isEmpty()) { return ""; }
const CAircraftModel m(findFirstByCallsignOrDefault(callsign));
return m.getIconPath();
}
QString CAircraftModelList::designatorToFamily(const CAircraftIcaoCode &aircraftIcaoCode) const
{
if (aircraftIcaoCode.hasFamily()) { return aircraftIcaoCode.getFamily(); }