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

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 AUTOMATICMATCHINGWIDGET_H
0006 #define AUTOMATICMATCHINGWIDGET_H
0007 
0008 // Local includes
0009 #include "KGeoTag.h"
0010 
0011 // Qt includes
0012 #include <QWidget>
0013 
0014 // Local classes
0015 class Settings;
0016 
0017 // Qt classes
0018 class QSpinBox;
0019 class QCheckBox;
0020 class QAction;
0021 
0022 class AutomaticMatchingWidget : public QWidget
0023 {
0024     Q_OBJECT
0025 
0026 public:
0027     explicit AutomaticMatchingWidget(Settings *settings, QWidget *parent = nullptr);
0028     bool excludeManuallyTagged() const;
0029     int exactMatchTolerance() const;
0030     int maximumInterpolationInterval() const;
0031     int maximumInterpolationDistance() const;
0032 
0033 Q_SIGNALS:
0034     void requestReassignment(KGeoTag::SearchType searchType);
0035 
0036 private Q_SLOTS:
0037     void enableMaximumInterpolationInterval(bool state);
0038     void enableMaximumInterpolationDistance(bool state);
0039     void saveSettings();
0040 
0041 private: // Variables
0042     Settings *m_settings;
0043 
0044     QSpinBox *m_exactMatchTolerance;
0045     QCheckBox *m_enableMaximumInterpolationInterval;
0046     QSpinBox *m_maximumInterpolationInterval;
0047     QCheckBox *m_enableMaximumInterpolationDistance;
0048     QSpinBox *m_maximumInterpolationDistance;
0049 
0050     QAction *m_excludeManuallyTagged;
0051 
0052 };
0053 
0054 #endif // AUTOMATICMATCHINGWIDGET_H