From 89c241b2e7aa91b0237100a38d847244970f58af Mon Sep 17 00:00:00 2001 From: Klaus Basan Date: Wed, 3 Jun 2020 04:44:19 +0200 Subject: [PATCH] Utility functions for livery --- src/blackmisc/aviation/livery.cpp | 9 +++++++-- src/blackmisc/aviation/livery.h | 3 +++ src/blackmisc/aviation/liverylist.cpp | 8 ++++++++ src/blackmisc/aviation/liverylist.h | 3 +++ 4 files changed, 21 insertions(+), 2 deletions(-) diff --git a/src/blackmisc/aviation/livery.cpp b/src/blackmisc/aviation/livery.cpp index e1961ab8a..68c7e010c 100644 --- a/src/blackmisc/aviation/livery.cpp +++ b/src/blackmisc/aviation/livery.cpp @@ -71,8 +71,13 @@ namespace BlackMisc return this->getCombinedCode() % ( this->getDescription().isEmpty() ? QString() : - (u' ' % this->getDescription()) - ); + (u' ' % this->getDescription())); + } + + QString CLivery::getCombinedCodePlusId() const + { + return this->getCombinedCode() % + this->getDbKeyAsStringInParentheses(" "); } QString CLivery::getCombinedCodePlusInfoAndId() const diff --git a/src/blackmisc/aviation/livery.h b/src/blackmisc/aviation/livery.h index c769380d0..4cc82330c 100644 --- a/src/blackmisc/aviation/livery.h +++ b/src/blackmisc/aviation/livery.h @@ -77,6 +77,9 @@ namespace BlackMisc //! Combined code plus info QString getCombinedCodePlusInfo() const; + //! Combined code plus id + QString getCombinedCodePlusId() const; + //! Combined code, info, plus id QString getCombinedCodePlusInfoAndId() const; diff --git a/src/blackmisc/aviation/liverylist.cpp b/src/blackmisc/aviation/liverylist.cpp index 5f45aac49..ddb40aba4 100644 --- a/src/blackmisc/aviation/liverylist.cpp +++ b/src/blackmisc/aviation/liverylist.cpp @@ -141,6 +141,14 @@ namespace BlackMisc return codes; } + QStringList CLiveryList::getCombinedCodesPlusInfoAndId(bool sort) const + { + if (this->isEmpty()) { return QStringList(); } + QStringList codes = this->transform(Predicates::MemberTransform(&CLivery::getCombinedCodePlusInfoAndId)); + if (sort) { codes.sort(); } + return codes; + } + CAirlineIcaoCodeList CLiveryList::getAirlines() const { CAirlineIcaoCodeList icaos; diff --git a/src/blackmisc/aviation/liverylist.h b/src/blackmisc/aviation/liverylist.h index b53e5ed3a..a8da8e148 100644 --- a/src/blackmisc/aviation/liverylist.h +++ b/src/blackmisc/aviation/liverylist.h @@ -75,6 +75,9 @@ namespace BlackMisc //! All combined codes plus more info QStringList getCombinedCodesPlusInfo(bool sort = false) const; + //! All combined codes plus more info + QStringList getCombinedCodesPlusInfoAndId(bool sort = false) const; + //! All aircraft codes CAirlineIcaoCodeList getAirlines() const;