File indexing completed on 2024-04-28 15:39:08

0001 // SPDX-FileCopyrightText: 2020-2022 Tobias Leupold <tl at stonemx dot de>
0002 //
0003 // SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
0004 
0005 #ifndef SETTINGSDIALOG_H
0006 #define SETTINGSDIALOG_H
0007 
0008 // Qt includes
0009 #include <QDialog>
0010 #include <QColor>
0011 
0012 // Local classes
0013 class Settings;
0014 
0015 // Qt classes
0016 class QPushButton;
0017 class QLabel;
0018 class QSpinBox;
0019 class QComboBox;
0020 class QCheckBox;
0021 
0022 class SettingsDialog : public QDialog
0023 {
0024     Q_OBJECT
0025 
0026 public:
0027     explicit SettingsDialog(Settings *settings, QWidget *parent);
0028 
0029 Q_SIGNALS:
0030     void imagesListsModeChanged();
0031 
0032 protected:
0033     void accept() override;
0034 
0035 private Q_SLOTS:
0036     void setTrackColor();
0037 
0038 private: // Functions
0039     void updateTrackColor();
0040 
0041 private: // Variables
0042     Settings *m_settings;
0043 
0044     QComboBox *m_imageListsMode;
0045     QCheckBox *m_splitImagesList;
0046 
0047     QComboBox *m_automaticMatchingMode;
0048 
0049     QSpinBox *m_thumbnailSize;
0050     QSpinBox *m_previewSize;
0051     bool m_originalSplitImagesListValue;
0052     int m_originalThumbnailSizeValue;
0053     int m_originalPreviewSizeValue;
0054 
0055     QColor m_currentTrackColor;
0056     QPushButton *m_trackColor;
0057     QLabel *m_trackOpacity;
0058     QSpinBox *m_trackWidth;
0059     QComboBox *m_trackStyle;
0060 
0061     QCheckBox *m_lookupElevationAutomatically;
0062     QComboBox *m_elevationDataset;
0063 
0064     QComboBox *m_writeMode;
0065     QCheckBox *m_allowWriteRawFiles;
0066     QCheckBox *m_createBackups;
0067 
0068 };
0069 
0070 #endif // SETTINGSDIALOG_H