1 // SPDX-FileCopyrightText: 2003-2019 The KPhotoAlbum Development Team 2 // SPDX-FileCopyrightText: 2021 Johannes Zarl-Zierl <johannes@zarl-zierl.at> 3 // 4 // SPDX-License-Identifier: GPL-2.0-or-later 5 6 #ifndef EXIFSEARCHDIALOG_H 7 #define EXIFSEARCHDIALOG_H 8 9 #include "RangeWidget.h" 10 #include "SearchDialogSettings.h" 11 12 #include <kpaexif/SearchInfo.h> 13 14 #include <KPageDialog> 15 16 class QSpinBox; 17 class QGridLayout; 18 19 namespace Exif 20 { 21 22 class SearchDialog : public KPageDialog 23 { 24 Q_OBJECT 25 26 public: 27 explicit SearchDialog(const Database *exifDB, QWidget *parent); 28 Exif::SearchInfo info(); 29 30 protected: 31 void makeISO(QGridLayout *layout); 32 QWidget *makeExposureProgram(QWidget *parent); 33 QWidget *makeOrientation(QWidget *parent); 34 QWidget *makeMeteringMode(QWidget *parent); 35 QWidget *makeContrast(QWidget *parent); 36 QWidget *makeSharpness(QWidget *parent); 37 QWidget *makeSaturation(QWidget *parent); 38 void makeExposureTime(QGridLayout *layout); 39 RangeWidget *makeFNumber(const QString &text, const QString &key, QGridLayout *layout, int row); 40 QWidget *makeCamera(); 41 QWidget *makeLens(); 42 43 protected slots: 44 void fromFocalLengthChanged(int); 45 void toFocalLengthChanged(int); 46 47 private: 48 const Exif::Database *m_exifDB; 49 Exif::RangeWidget *m_iso; 50 Exif::RangeWidget *m_exposureTime; 51 Exif::RangeWidget *m_fNumber; 52 Settings<int> m_exposureProgram; 53 Settings<int> m_orientation; 54 Settings<int> m_meteringMode; 55 Settings<int> m_contrast; 56 Settings<int> m_sharpness; 57 Settings<int> m_saturation; 58 Settings<Database::Camera> m_cameras; 59 Settings<Database::Lens> m_lenses; 60 QSpinBox *m_fromFocalLength; 61 QSpinBox *m_toFocalLength; 62 }; 63 } 64 65 #endif /* EXIFSEARCHDIALOG_H */ 66 67 // vi:expandtab:tabstop=4 shiftwidth=4: 68