swift
airlineicaolistmodel.cpp
1 // SPDX-FileCopyrightText: Copyright (C) 2015 swift Project Community / Contributors
2 // SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-swift-pilot-client-1
3 
5 
6 #include <Qt>
7 #include <QtGlobal>
8 
10 #include "gui/models/columns.h"
12 #include "misc/country.h"
13 #include "misc/db/datastore.h"
15 #include "misc/timestampbased.h"
16 
17 using namespace swift::misc;
18 using namespace swift::misc::aviation;
19 
20 namespace swift::gui::models
21 {
22  CAirlineIcaoCodeListModel::CAirlineIcaoCodeListModel(QObject *parent)
23  : CListModelDbObjects("AircraftIcaoListModel", parent)
24  {
26  CColumn::standardString("id", CAirlineIcaoCode::IndexDbIntegerKey, CDefaultFormatter::alignRightVCenter()));
27  m_columns.addColumn(CColumn::standardValueObject("ICAO", CAirlineIcaoCode::IndexAirlineDesignator));
28 
29  CColumn col("airline", CAirlineIcaoCode::IndexIcon);
30  col.setSortPropertyIndex(CAirlineIcaoCode::IndexAirlineDesignator);
31  m_columns.addColumn(col);
32  m_columns.addColumn(CColumn("VA", "virtual airline", CAirlineIcaoCode::IndexIsVirtualAirline,
33  new CBoolIconFormatter("VA", "real airline")));
34  m_columns.addColumn(CColumn("mil.", "military (air force)", CAirlineIcaoCode::IndexIsMilitary,
35  new CBoolIconFormatter("military", "civilian")));
36  m_columns.addColumn(CColumn("op.", "operating", CAirlineIcaoCode::IndexIsOperating,
37  new CBoolIconFormatter("operating", "ceased")));
38  m_columns.addColumn(CColumn::standardValueObject("name", CAirlineIcaoCode::IndexAirlineName));
40  CColumn::standardValueObject("gr.des.", "group designator", CAirlineIcaoCode::IndexGroupDesignator));
41  m_columns.addColumn(CColumn::standardValueObject("groupname", CAirlineIcaoCode::IndexGroupName));
42  col = CColumn("country", { CAirlineIcaoCode::IndexAirlineCountry, CCountry::IndexIcon });
43  col.setSortPropertyIndex(CAirlineIcaoCode::IndexAirlineDesignator);
44  m_columns.addColumn(col);
45  m_columns.addColumn(CColumn::standardValueObject("country", "country", CAirlineIcaoCode::IndexAirlineCountry));
46  m_columns.addColumn(CColumn::standardString("changed", CAirlineIcaoCode::IndexUtcTimestampFormattedYmdhms));
47 
48  // default sort order
49  this->setSortColumnByPropertyIndex(CAirlineIcaoCode::IndexAirlineDesignator);
50  m_sortOrder = Qt::AscendingOrder;
51 
52  // force strings for translation in resource files
53  (void)QT_TRANSLATE_NOOP("ModelAirlineIcaoList", "ICAO");
54  (void)QT_TRANSLATE_NOOP("ModelAirlineIcaoList", "operating");
55  (void)QT_TRANSLATE_NOOP("ModelAirlineIcaoList", "name");
56  (void)QT_TRANSLATE_NOOP("ModelAirlineIcaoList", "country");
57  (void)QT_TRANSLATE_NOOP("ModelAirlineIcaoList", "changed");
58  }
59 } // namespace swift::gui::models
Single column.
Definition: columns.h:26
static CColumn standardValueObject(const QString &headerName, const swift::misc::CPropertyIndex &propertyIndex, int alignment=CDefaultFormatter::alignDefault())
Get a standard value object formatted column.
Definition: columns.cpp:46
static CColumn standardString(const QString &headerName, const swift::misc::CPropertyIndex &propertyIndex, int alignment=CDefaultFormatter::alignDefault())
Get a standard string object formatted column.
Definition: columns.cpp:57
void setSortPropertyIndex(const swift::misc::CPropertyIndex &propertyIndex)
Property index used when sorting, option alternative.
Definition: columns.cpp:30
void addColumn(const CColumn &column)
Add a column.
Definition: columns.cpp:100
static int alignRightVCenter()
Align right/vertically centered.
virtual bool setSortColumnByPropertyIndex(const swift::misc::CPropertyIndex &propertyIndex)
Set column for sorting.
Models to be used with views, mainly QTableView.
Free functions in swift::misc.