Ref T226, completer improvements

* a location can home multiple airports
* use a combined name for that reason in completers
This commit is contained in:
Klaus Basan
2018-02-02 22:48:10 +01:00
parent d903a20f5e
commit 16b49cfa46
5 changed files with 54 additions and 32 deletions

View File

@@ -30,9 +30,9 @@ namespace BlackMisc
//! Value object for a list of airports.
class BLACKMISC_EXPORT CAirportList :
public CSequence<CAirport>,
public BlackMisc::Db::IDatastoreObjectList<CAirport, CAirportList, int>,
public BlackMisc::Geo::IGeoObjectWithRelativePositionList<CAirport, CAirportList>,
public BlackMisc::Mixin::MetaType<CAirportList>
public Db::IDatastoreObjectList<CAirport, CAirportList, int>,
public Geo::IGeoObjectWithRelativePositionList<CAirport, CAirportList>,
public Mixin::MetaType<CAirportList>
{
public:
BLACKMISC_DECLARE_USING_MIXIN_METATYPE(CAirportList)
@@ -67,9 +67,13 @@ namespace BlackMisc
//! All names
QStringList allDescriptivesNames(bool sorted) const;
//! All names
//! All locations
//! \remark less locations than airports, since a location (e.g. New Yorrk) homes multiple airports
QStringList allLocations(bool sorted) const;
//! All locations plus optional description
QStringList allLocationsPlusOptionalDescription(bool sorted) const;
//! From our DB JSON
static CAirportList fromDatabaseJson(const QJsonArray &array, CAirportList *inconsistent = nullptr);
};