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: