swift
dbquickmappingwizard.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (C) 2016 swift Project Community / Contributors
2 // SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-swift-pilot-client-1
3 
5 
6 #ifndef SWIFT_GUI_COMPONENTS_DBQUICKMAPPINGWIZARD_H
7 #define SWIFT_GUI_COMPONENTS_DBQUICKMAPPINGWIZARD_H
8 
9 #include <QScopedPointer>
10 #include <QWizard>
11 
14 
15 namespace Ui
16 {
17  class CDbQuickMappingWizard;
18 }
19 namespace swift::gui::components
20 {
24  class CDbQuickMappingWizard : public QWizard
25  {
26  Q_OBJECT
27 
28  public:
30  enum Pages
31  {
32  PageIntro,
33  PageAircraftSelect,
34  PageColor,
35  PageLiverySelect,
36  PageDistributorSelect,
38  PageCredentials,
40  PageSendStatus
41  };
42 
44  explicit CDbQuickMappingWizard(QWidget *parent = nullptr);
45 
47  virtual ~CDbQuickMappingWizard() override;
48 
51 
54 
56  void clear();
57 
59  virtual bool validateCurrentPage() override;
60 
62  static const QStringList &getLogCategories();
63 
64  protected:
66  virtual void keyPressEvent(QKeyEvent *event) override;
67 
68  private:
69  QScopedPointer<Ui::CDbQuickMappingWizard> ui;
70  int m_lastId = 0;
71  swift::misc::simulation::CAircraftModel m_model; // model to be mapped
72 
74  void setAircraftIcaoFilter();
75 
77  void setAirlineIcaoFilter();
78 
80  void setColorFilter();
81 
83  void setDistributorFilter();
84 
86  swift::misc::aviation::CLivery getFirstSelectedOrDefaultLivery() const;
87 
89  swift::misc::aviation::CAircraftIcaoCode getFirstSelectedOrDefaultAircraftIcao() const;
90 
92  swift::misc::simulation::CDistributor getFirstSelectedOrDefaultDistributor() const;
93 
95  swift::misc::CStatusMessageList validateData() const;
96 
98  void consolidateModelWithUIData();
99 
101  swift::misc::simulation::CSimulatorInfo guessSimulator() const;
102 
104  void writeModelToDb();
105 
107  void onPublishedModels(const swift::misc::simulation::CAircraftModelList &modelsPublished,
108  const swift::misc::simulation::CAircraftModelList &modelsSkipped,
109  const swift::misc::CStatusMessageList &messages, bool requestSuccessful,
110  bool directWrite);
111 
113  void onWebDataRead();
114 
116  void currentWizardPageChanged(int id);
117 
119  void onAirlineSelected(const swift::misc::aviation::CAirlineIcaoCode &icao);
120 
122  void onAircraftSelected(const swift::misc::aviation::CAircraftIcaoCode &icao);
123  };
124 } // namespace swift::gui::components
125 #endif // SWIFT_GUI_COMPONENTS_DBQUICKMAPPINGWIZARD_H
Wizard to quickly provide a single mapping.
void presetAircraftIcao(const swift::misc::aviation::CAircraftIcaoCode &aircraftIcao)
Preset values.
void presetModel(const swift::misc::simulation::CAircraftModel &model)
Preset a model.
static const QStringList & getLogCategories()
Log categories.
@ PageLastConfirmation
just info to say data will be send
CDbQuickMappingWizard(QWidget *parent=nullptr)
Constructor.
Status messages, e.g. from Core -> GUI.
Value object for ICAO classification.
Value object for ICAO classification.
Value object encapsulating information about an airpot.
Definition: livery.h:29
Aircraft model (used by another pilot, my models on disk)
Definition: aircraftmodel.h:71
Value object encapsulating a list of aircraft models.
Value object encapsulating information of software distributor.
Definition: distributor.h:33
Simple hardcoded info about the corresponding simulator.
Definition: simulatorinfo.h:41
High level reusable GUI components.
Definition: aboutdialog.cpp:13