swift
liverylistmodel.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 <QtGlobal>
7 
9 #include "gui/models/columns.h"
11 #include "misc/aviation/livery.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  CLiveryListModel::CLiveryListModel(QObject *parent) : CListModelDbObjects("ModelLiveryList", parent)
23  {
25  CColumn::standardString("id", CLivery::IndexDbIntegerKey, CDefaultFormatter::alignRightVCenter()));
26  m_columns.addColumn(CColumn::standardString("code", CLivery::IndexCombinedCode));
27  m_columns.addColumn(CColumn::standardString("description", CLivery::IndexDescription));
28  m_columns.addColumn(CColumn("fuselage", "fuselage color", CLivery::IndexColorFuselage, new CColorFormatter()));
29  m_columns.addColumn(CColumn("tail", "tail color", CLivery::IndexColorTail, new CColorFormatter()));
31  CColumn("mil.", "military", CLivery::IndexIsMilitary, new CBoolIconFormatter("military", "civil")));
33  "des.", "designator", { CLivery::IndexAirlineIcaoCode, CAirlineIcaoCode::IndexAirlineDesignator }));
34  CColumn col = CColumn("airline", { CLivery::IndexAirlineIcaoCode, CAirlineIcaoCode::IndexIcon });
35  col.setSortPropertyIndex({ CLivery::IndexAirlineIcaoCode, CAirlineIcaoCode::IndexAirlineCountryIso });
36  m_columns.addColumn(col);
38  CColumn::standardString("name", { CLivery::IndexAirlineIcaoCode, CAirlineIcaoCode::IndexAirlineName }));
39  col = CColumn("airline country",
40  { CLivery::IndexAirlineIcaoCode, CAirlineIcaoCode::IndexAirlineCountry, CCountry::IndexIcon });
41  col.setSortPropertyIndex({ CLivery::IndexAirlineIcaoCode, CAirlineIcaoCode::IndexAirlineCountryIso });
42  m_columns.addColumn(col);
44  "telephony", { CLivery::IndexAirlineIcaoCode, CAirlineIcaoCode::IndexTelephonyDesignator }));
45  m_columns.addColumn(CColumn::standardString("changed", CLivery::IndexUtcTimestampFormattedYmdhms));
46 
47  // force strings for translation in resource files
48  (void)QT_TRANSLATE_NOOP("ModelLiveryList", "key");
49  (void)QT_TRANSLATE_NOOP("ModelLiveryList", "description");
50  (void)QT_TRANSLATE_NOOP("ModelLiveryList", "fuselage");
51  (void)QT_TRANSLATE_NOOP("ModelLiveryList", "tail");
52  (void)QT_TRANSLATE_NOOP("ModelLiveryList", "mil.");
53  (void)QT_TRANSLATE_NOOP("ModelLiveryList", "military");
54  }
55 } // namespace swift::gui::models
Formatter when column contains a color.
Single column.
Definition: columns.h:26
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.
Models to be used with views, mainly QTableView.
Free functions in swift::misc.