Ref T578, display level and path (not just path)

This commit is contained in:
Klaus Basan
2019-03-28 20:11:47 +01:00
committed by Mat Sutcliffe
parent 6b17f847e9
commit 057031293d
3 changed files with 18 additions and 1 deletions

View File

@@ -93,7 +93,7 @@ namespace BlackGui
}
m_columns.addColumn(CColumn::standardString("ac", "aircraft ICAO", { CAircraftModel::IndexAircraftIcaoCode, CAircraftIcaoCode::IndexAircraftDesignator }));
m_columns.addColumn(CColumn::standardString("fam.", "aircraft family", { CAircraftModel::IndexAircraftIcaoCode, CAircraftIcaoCode::IndexFamily }));
m_columns.addColumn(CColumn::standardString("cat.", "category", { CAircraftModel::IndexAircraftIcaoCode, CAircraftIcaoCode::IndexCategory, CAircraftCategory::IndexPath }));
m_columns.addColumn(CColumn::standardString("cat.", "category", { CAircraftModel::IndexAircraftIcaoCode, CAircraftIcaoCode::IndexCategory, CAircraftCategory::IndexLevelStringAndPath }));
m_columns.addColumn(CColumn::standardString("livery", { CAircraftModel::IndexLivery, CLivery::IndexCombinedCode}));
m_columns.addColumn(CColumn::standardString("al", "airline ICAO", { CAircraftModel::IndexLivery, CLivery::IndexAirlineIcaoCode, CAirlineIcaoCode::IndexAirlineDesignator }));
m_columns.addColumn(CColumn("CG", CAircraftModel::IndexCG, new CPhysiqalQuantiyFormatter<CLengthUnit, CLength>(CLengthUnit::ft(), 1)));

View File

@@ -123,14 +123,22 @@ namespace BlackMisc
QString CAircraftCategory::getLevelString() const
{
if (this->isNull()) { return {}; }
return QStringLiteral("%1.%2.%3").arg(m_l1).arg(m_l2).arg(m_l3);
}
QString CAircraftCategory::getLevelAndName() const
{
if (this->isNull()) { return {}; }
return QStringLiteral("%1 %2").arg(this->getLevelString(), this->getName());
}
QString CAircraftCategory::getLevelAndPath() const
{
if (this->isNull()) { return {}; }
return QStringLiteral("%1 %2").arg(this->getLevelString(), this->getPath());
}
bool CAircraftCategory::matchesPath(const QString &path, Qt::CaseSensitivity cs)
{
return stringCompare(path, this->getPath(), cs);
@@ -165,6 +173,8 @@ namespace BlackMisc
case IndexAssignable: return CVariant::fromValue(m_assignable);
case IndexPath: return CVariant::fromValue(m_path);
case IndexLevelString: return CVariant::fromValue(this->getLevelString());
case IndexLevelStringAndName: return CVariant::fromValue(this->getLevelAndName());
case IndexLevelStringAndPath: return CVariant::fromValue(this->getLevelAndPath());
default: return CValueObject::propertyByIndex(index);
}
}
@@ -194,6 +204,8 @@ namespace BlackMisc
case IndexPath: return m_path.compare(compareValue.getPath(), Qt::CaseInsensitive);
case IndexDescription: return m_description.compare(compareValue.getDescription(), Qt::CaseInsensitive);
case IndexAssignable: return Compare::compare(this->isAssignable(), compareValue.isAssignable());
case IndexLevelStringAndName:
case IndexLevelStringAndPath:
case IndexLevelString: return this->compareByLevel(compareValue);
default: return CValueObject::comparePropertyByIndex(index, *this);
}

View File

@@ -41,6 +41,8 @@ namespace BlackMisc
IndexName = CPropertyIndex::GlobalIndexCAircraftCategory,
IndexDescription,
IndexLevelString,
IndexLevelStringAndName,
IndexLevelStringAndPath,
IndexPath,
IndexAssignable
};
@@ -108,6 +110,9 @@ namespace BlackMisc
//! Level and name
QString getLevelAndName() const;
//! Level and path
QString getLevelAndPath() const;
//! Matching path?
bool matchesPath(const QString &path, Qt::CaseSensitivity cs);