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 SETTINGS_H 0006 #define SETTINGS_H 0007 0008 // Local includes 0009 #include "KGeoTag.h" 0010 #include "Coordinates.h" 0011 0012 // KDE includes 0013 #include <KSharedConfig> 0014 0015 // Qt includes 0016 #include <QColor> 0017 #include <QHash> 0018 0019 class Settings : public QObject 0020 { 0021 Q_OBJECT 0022 0023 public: 0024 explicit Settings(QObject *parent); 0025 0026 void saveMainWindowState(const QByteArray &data); 0027 QByteArray mainWindowState() const; 0028 0029 void saveShowCrosshairs(bool state); 0030 bool showCrosshairs() const; 0031 0032 void saveFloatersVisibility(const QHash<QString, bool> &data); 0033 QHash<QString, bool> floatersVisibility(); 0034 0035 void saveMapCenter(const Coordinates &coordinates); 0036 Coordinates mapCenter() const; 0037 0038 void saveZoom(int zoom); 0039 int zoom() const; 0040 0041 void saveLastOpenPath(const QString &path); 0042 QString lastOpenPath() const; 0043 0044 void saveSplitImagesList(bool state); 0045 bool splitImagesList() const; 0046 0047 void saveThumbnailSize(int size); 0048 int thumbnailSize() const; 0049 0050 void savePreviewSize(int size); 0051 int previewSize() const; 0052 0053 void saveExactMatchTolerance(int seconds); 0054 int exactMatchTolerance() const; 0055 0056 void saveMaximumInterpolationInterval(int seconds); 0057 int maximumInterpolationInterval() const; 0058 0059 void saveMaximumInterpolationDistance(int meters); 0060 int maximumInterpolationDistance() const; 0061 0062 void saveExcludeManuallyTaggedWhenReassigning(bool state); 0063 bool excludeManuallyTaggedWhenReassigning() const; 0064 0065 void saveLookupElevationAutomatically(bool state); 0066 bool lookupElevationAutomatically() const; 0067 0068 void saveElevationDataset(const QString &id); 0069 QString elevationDataset() const; 0070 0071 void saveTrackColor(const QColor &color); 0072 QColor trackColor() const; 0073 0074 void saveTrackWidth(int width); 0075 int trackWidth() const; 0076 0077 void saveTrackStyle(Qt::PenStyle style); 0078 Qt::PenStyle trackStyle() const; 0079 0080 void saveWriteMode(const QString &writeMode); 0081 QString writeMode() const; 0082 0083 void saveAllowWriteRawFiles(bool state); 0084 bool allowWriteRawFiles() const; 0085 0086 void saveCreateBackups(bool state); 0087 bool createBackups() const; 0088 0089 void saveBookmarks(const QHash<QString, Coordinates> *bookmarks); 0090 QHash<QString, Coordinates> bookmarks() const; 0091 0092 void saveDefaultMatchingMode(KGeoTag::SearchType mode); 0093 KGeoTag::SearchType defaultMatchingMode() const; 0094 0095 private: // Variables 0096 KSharedConfig::Ptr m_config; 0097 0098 }; 0099 0100 #endif // SETTINGS_H