openPilotLog
airportwidget.h
1 #ifndef AIRPORTWIDGET_H
2 #define AIRPORTWIDGET_H
3 
4 #include <QWidget>
5 #include <QSqlTableModel>
6 #include <QTableView>
7 
8 namespace Ui {
9 class AirportWidget;
10 }
11 
12 class AirportWidget : public QWidget
13 {
14  Q_OBJECT
15 
16 public:
17  explicit AirportWidget(QWidget *parent = nullptr);
18  ~AirportWidget();
19 
20 private slots:
21  void on_searchLineEdit_textChanged(const QString &arg1);
22 
23  void on_searchComboBox_currentIndexChanged(int index);
24 
25  void on_newAirportPushButton_clicked();
26 
27 private:
28  Ui::AirportWidget *ui;
29  QSqlTableModel *model;
30  QTableView *view;
31 
32  void setupModelAndeView();
33  void setupSearch();
34 
35  inline const static QString TABLE_NAME = QStringLiteral("airports");
36  inline const static QHash<int, QString> FILTER_MAP = {
37  {0, QStringLiteral("icao LIKE \"%")},
38  {1, QStringLiteral("iata LIKE \"%")},
39  {2, QStringLiteral("name LIKE \"%")},
40  {3, QStringLiteral("country LIKE \"%")},
41  };
42  inline const static QHash<int, QString> HEADER_MAP = {
43  {0, QStringLiteral("ICAO")},
44  {1, QStringLiteral("IATA")},
45  {2, QStringLiteral("Name")},
46  {3, QStringLiteral("Country")},
47  };
48 };
49 
50 #endif // AIRPORTWIDGET_H
Definition: airportwidget.h:13