File indexing completed on 2024-04-28 04:21:03

0001 // SPDX-FileCopyrightText: 2003-2019 The KPhotoAlbum Development Team
0002 // SPDX-FileCopyrightText: 2021-2022 Johannes Zarl-Zierl <johannes@zarl-zierl.at>
0003 //
0004 // SPDX-License-Identifier: GPL-2.0-or-later
0005 
0006 #ifndef EXIFSEARCHDIALOG_H
0007 #define EXIFSEARCHDIALOG_H
0008 
0009 #include "RangeWidget.h"
0010 #include "SearchDialogSettings.h"
0011 
0012 #include <kpaexif/SearchInfo.h>
0013 
0014 #include <KPageDialog>
0015 
0016 class QSpinBox;
0017 class QGridLayout;
0018 
0019 namespace Exif
0020 {
0021 
0022 class SearchDialog : public KPageDialog
0023 {
0024     Q_OBJECT
0025 
0026 public:
0027     explicit SearchDialog(const Database *exifDB, QWidget *parent);
0028     Exif::SearchInfo info();
0029 
0030 protected:
0031     void makeISO(QGridLayout *layout);
0032     QWidget *makeExposureProgram(QWidget *parent);
0033     QWidget *makeOrientation(QWidget *parent);
0034     QWidget *makeMeteringMode(QWidget *parent);
0035     QWidget *makeContrast(QWidget *parent);
0036     QWidget *makeSharpness(QWidget *parent);
0037     QWidget *makeSaturation(QWidget *parent);
0038     void makeExposureTime(QGridLayout *layout);
0039     RangeWidget *makeFNumber(const QString &text, const QString &key, QGridLayout *layout, int row);
0040     QWidget *makeCamera();
0041     QWidget *makeLens();
0042 
0043 protected Q_SLOTS:
0044     void fromFocalLengthChanged(int);
0045     void toFocalLengthChanged(int);
0046 
0047 private:
0048     const Exif::Database *m_exifDB;
0049     Exif::RangeWidget *m_iso;
0050     Exif::RangeWidget *m_exposureTime;
0051     Exif::RangeWidget *m_fNumber;
0052     Settings<int> m_exposureProgram;
0053     Settings<int> m_orientation;
0054     Settings<int> m_meteringMode;
0055     Settings<int> m_contrast;
0056     Settings<int> m_sharpness;
0057     Settings<int> m_saturation;
0058     Settings<Database::Camera> m_cameras;
0059     Settings<Database::Lens> m_lenses;
0060     QSpinBox *m_fromFocalLength;
0061     QSpinBox *m_toFocalLength;
0062 };
0063 }
0064 
0065 #endif /* EXIFSEARCHDIALOG_H */
0066 
0067 // vi:expandtab:tabstop=4 shiftwidth=4: