refs #219, load flight plan

* fixed issue with parsing, only default locale is used. Now user's local possible
* allow to load FP for other callsigns as well (voice capabilities)
* Improved handling of CTime, inclusive bug fixes and time formatting
* Max. lengths for FP fields as const value (so we can change it if required)
* Load FP from GUI component
* Samples for PQ classes
* Adjusted depending classes (e.g. client)
This commit is contained in:
Klaus Basan
2014-06-05 02:33:03 +02:00
parent e823f87bab
commit 226edda23b
17 changed files with 293 additions and 147 deletions

View File

@@ -17,15 +17,15 @@ namespace BlackMisc
/*
* Constructor
*/
CAltitude::CAltitude(const QString &altitudeAsString) : BlackMisc::PhysicalQuantities::CLength(0, BlackMisc::PhysicalQuantities::CLengthUnit::m()), m_datum(MeanSeaLevel)
CAltitude::CAltitude(const QString &altitudeAsString, BlackMisc::PhysicalQuantities::CPqString::SeparatorMode mode) : BlackMisc::PhysicalQuantities::CLength(0, BlackMisc::PhysicalQuantities::CLengthUnit::m()), m_datum(MeanSeaLevel)
{
this->parseFromString(altitudeAsString);
this->parseFromString(altitudeAsString, mode);
}
/*
* Own implementation for streaming
*/
QString CAltitude::convertToQString(bool /* i18n */) const
QString CAltitude::convertToQString(bool i18n) const
{
if (this->m_datum == FlightLevel)
{
@@ -34,7 +34,7 @@ namespace BlackMisc
}
else
{
QString s = this->CLength::convertToQString();
QString s = this->CLength::valueRoundedWithUnit(CLengthUnit::ft(), i18n);
return s.append(this->isMeanSeaLevel() ? " MSL" : " AGL");
}
}
@@ -156,6 +156,14 @@ namespace BlackMisc
* Parse value
*/
void CAltitude::parseFromString(const QString &value)
{
this->parseFromString(value, BlackMisc::PhysicalQuantities::CPqString::SeparatorsCLocale);
}
/*
* Parse value
*/
void CAltitude::parseFromString(const QString &value, BlackMisc::PhysicalQuantities::CPqString::SeparatorMode mode)
{
QString v = value.trimmed();
@@ -184,7 +192,7 @@ namespace BlackMisc
rd = AboveGround;
}
CLength l = BlackMisc::PhysicalQuantities::CPqString::parse<CLength>(v);
CLength l = BlackMisc::PhysicalQuantities::CPqString::parse<CLength>(v, mode);
*this = CAltitude(l, rd);
}