openPilotLog
settingswidget.h
1 /*
2  *openPilotLog - A FOSS Pilot Logbook Application
3  *Copyright (C) 2020-2021 Felix Turowsky
4  *
5  *This program is free software: you can redistribute it and/or modify
6  *it under the terms of the GNU General Public License as published by
7  *the Free Software Foundation, either version 3 of the License, or
8  *(at your option) any later version.
9  *
10  *This program is distributed in the hope that it will be useful,
11  *but WITHOUT ANY WARRANTY; without even the implied warranty of
12  *MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13  *GNU General Public License for more details.
14  *
15  *You should have received a copy of the GNU General Public License
16  *along with this program. If not, see <https://www.gnu.org/licenses/>.
17  */
18 #ifndef SETTINGSWIDGET_H
19 #define SETTINGSWIDGET_H
20 
21 #include <QWidget>
22 #include <QButtonGroup>
23 #include <QValidator>
24 #include <QMessageBox>
25 #include <QProcess>
26 #include <QDebug>
27 #include <QFontDialog>
28 
29 namespace Ui {
30 class SettingsWidget;
31 }
32 
33 class SettingsWidget : public QWidget
34 {
35  Q_OBJECT
36 
37 public:
38  explicit SettingsWidget(QWidget *parent = nullptr);
39  ~SettingsWidget();
40 
45 
46 private slots:
47 
48 // void onThemeGroup_buttonClicked(int theme_id);
49  void on_aboutPushButton_clicked();
50  void on_acftSortComboBox_currentIndexChanged(int index);
51  void on_acAllowIncompleteComboBox_currentIndexChanged(int index);
52  void on_prefixLineEdit_textChanged(const QString &arg1);
53  void on_lastnameLineEdit_editingFinished();
54  void on_firstnameLineEdit_editingFinished();
55  void on_employeeidLineEdit_editingFinished();
56  void on_emailLineEdit_editingFinished();
57  void on_phoneLineEdit_editingFinished();
58  void on_aliasComboBox_currentIndexChanged(int index);
59  void on_functionComboBox_currentIndexChanged(const QString &arg1);
60  void on_rulesComboBox_currentIndexChanged(const QString &arg1);
61  void on_approachComboBox_currentIndexChanged(const QString &arg1);
62  void on_nightComboBox_currentIndexChanged(int index);
63  void on_pilotSortComboBox_currentIndexChanged(int index);
64  void on_logbookViewComboBox_currentIndexChanged(int index);
65  void on_companyLineEdit_editingFinished();
66  void on_styleComboBox_currentTextChanged(const QString& new_style_setting);
67 
68  //void on_fontPushButton_clicked();
69 
70  void on_fontComboBox_currentFontChanged(const QFont &f);
71 
72  void on_fontSpinBox_valueChanged(int arg1);
73 
74  void on_fontCheckBox_stateChanged(int arg1);
75 
76  void on_resetStylePushButton_clicked();
77 
78  void on_currLicDateEdit_userDateChanged(const QDate &date);
79 
80  void on_currTrDateEdit_userDateChanged(const QDate &date);
81 
82  void on_currLckDateEdit_userDateChanged(const QDate &date);
83 
84  void on_currMedDateEdit_userDateChanged(const QDate &date);
85 
86  void on_currCustom1DateEdit_userDateChanged(const QDate &date);
87 
88  void on_currCustom2DateEdit_userDateChanged(const QDate &date);
89 
90  void on_currToLdgCheckBox_stateChanged(int arg1);
91 
92  void on_currLicCheckBox_stateChanged(int arg1);
93 
94  void on_currTrCheckBox_stateChanged(int arg1);
95 
96  void on_currLckCheckBox_stateChanged(int arg1);
97 
98  void on_currMedCheckBox_stateChanged(int arg1);
99 
100  void on_currCustom1CheckBox_stateChanged(int arg1);
101 
102  void on_currCustom2CheckBox_stateChanged(int arg1);
103 
104  void on_currWarningCheckBox_stateChanged(int arg1);
105 
106  void on_currWarningThresholdSpinBox_valueChanged(int arg1);
107 
108  void on_currCustom1LineEdit_editingFinished();
109 
110  void on_currCustom2LineEdit_editingFinished();
111 
112  void on_dateFormatComboBox_currentIndexChanged(int index);
113 
114 private:
115  Ui::SettingsWidget *ui;
116 
117  void readSettings();
118 
119  void setupValidators();
120 
121  void setupComboBoxes();
122 
123  void setupDateEdits();
124 
125  void updatePersonalDetails();
126 
127  bool usingStylesheet();
128 
129 signals:
130 
135  void settingChanged(SettingSignal widget);
136 };
137 
138 #endif // SETTINGSWIDGET_H
LogbookWidget
Definition: logbookwidget.h:34
SettingsWidget
Definition: settingswidget.h:33
SettingsWidget::settingChanged
void settingChanged(SettingSignal widget)
settingChanged is emitted when a setting change shall trigger an update to another widget.
PilotsWidget
The PilotsWidget is used to view, edit, delete or add new pilots.
Definition: pilotswidget.h:53
HomeWidget
Definition: homewidget.h:35
SettingsWidget::SettingSignal
SettingSignal
Widgets that need to receive a signal when a setting is updated.
Definition: settingswidget.h:44
AircraftWidget
The AircraftWidget is used to view, edit, delete or add new tails.
Definition: aircraftwidget.h:48