1 /* SPDX-FileCopyrightText: 2020-2021 Tobias Leupold <tl@l3u.de>
2 
3    SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-KDE-Accepted-GPL
4 */
5 
6 #ifndef SETTINGSDIALOG_H
7 #define SETTINGSDIALOG_H
8 
9 // Qt includes
10 #include <QDialog>
11 #include <QColor>
12 
13 // Local classes
14 class Settings;
15 
16 // Qt classes
17 class QPushButton;
18 class QLabel;
19 class QSpinBox;
20 class QComboBox;
21 class QCheckBox;
22 
23 class SettingsDialog : public QDialog
24 {
25     Q_OBJECT
26 
27 public:
28     explicit SettingsDialog(Settings *settings, QWidget *parent);
29 
30 signals:
31     void imagesListsModeChanged();
32 
33 protected:
34     void accept() override;
35 
36 private slots:
37     void setTrackColor();
38 
39 private: // Functions
40     void updateTrackColor();
41 
42 private: // Variables
43     Settings *m_settings;
44 
45     QComboBox *m_imageListsMode;
46     QCheckBox *m_splitImagesList;
47 
48     QComboBox *m_automaticMatchingMode;
49 
50     QSpinBox *m_thumbnailSize;
51     QSpinBox *m_previewSize;
52     bool m_originalSplitImagesListValue;
53     int m_originalThumbnailSizeValue;
54     int m_originalPreviewSizeValue;
55 
56     QColor m_currentTrackColor;
57     QPushButton *m_trackColor;
58     QLabel *m_trackOpacity;
59     QSpinBox *m_trackWidth;
60     QComboBox *m_trackStyle;
61 
62     QCheckBox *m_lookupElevationAutomatically;
63     QComboBox *m_elevationDataset;
64 
65     QComboBox *m_writeMode;
66     QCheckBox *m_createBackups;
67 
68 };
69 
70 #endif // SETTINGSDIALOG_H
71