You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
175 lines
3.9 KiB
C++
175 lines
3.9 KiB
C++
#ifndef CPICTURE_H
|
|
#define CPICTURE_H
|
|
|
|
|
|
#include <QObject>
|
|
#include <QList>
|
|
#include <QImage>
|
|
#include <QDateTime>
|
|
|
|
#include <QMetaType>
|
|
|
|
|
|
/**
|
|
* @brief
|
|
*
|
|
*/
|
|
class cPicture : public QObject
|
|
{
|
|
Q_OBJECT
|
|
public:
|
|
/**
|
|
* @brief
|
|
*
|
|
* @param parent
|
|
*/
|
|
explicit cPicture(qint32 iID = -1, QObject *parent = nullptr);
|
|
|
|
/**
|
|
* @brief
|
|
*
|
|
* @param szFileName
|
|
* @return bool
|
|
*/
|
|
bool fromFile(const QString& szFileName);
|
|
/**
|
|
* @brief
|
|
*
|
|
* @param db
|
|
* @param iID
|
|
* @return bool
|
|
*/
|
|
bool toDB();
|
|
|
|
void setID(const qint32& id);
|
|
qint32 id();
|
|
|
|
void setImageWidth(const qint32& imageWidth);
|
|
qint32 imageWidth();
|
|
|
|
void setImageHeight(const qint32& imageHeight);
|
|
qint32 imageHeight();
|
|
|
|
void setCameraMake(const QString& cameraMake);
|
|
QString cameraMake();
|
|
|
|
void setCameraModel(const QString& cameraModel);
|
|
QString cameraModel();
|
|
|
|
void setDateTime(const QDateTime& dateTime);
|
|
QDateTime dateTime();
|
|
|
|
void setFNumber(const QString& fNumber);
|
|
QString fNumber();
|
|
|
|
void setISO(const qint32& iso);
|
|
qint32 iso();
|
|
|
|
void setFlash(const QString& flash);
|
|
QString flash();
|
|
|
|
void setFlashID(const qint32& flashID);
|
|
qint32 flashID();
|
|
|
|
void setFocalLength(const qreal& focalLength);
|
|
qreal focalLength();
|
|
|
|
void setLensMake(const QString& lensMake);
|
|
QString lensMake();
|
|
|
|
void setLensModel(const QString& lensModel);
|
|
QString lensModel();
|
|
|
|
void setExposureTime(const QString& exposureTime);
|
|
QString exposureTime();
|
|
|
|
void setExposureBias(const qint32& exposureBias);
|
|
qint32 exposureBias();
|
|
|
|
void setExifVersion(const QString& exifVersion);
|
|
QString exifVersion();
|
|
|
|
void setDateTimeOriginal(const QDateTime& dateTimeOriginal);
|
|
QDateTime dateTimeOriginal();
|
|
|
|
void setDateTimeDigitized(const QDateTime& dateTimeDigitized);
|
|
QDateTime dateTimeDigitized();
|
|
|
|
void setWhiteBalance(const qint32& whiteBalance);
|
|
qint32 whiteBalance();
|
|
|
|
void setFocalLength35(const qreal& focalLength35);
|
|
qreal focalLength35();
|
|
|
|
void setGPS(const QString& gps);
|
|
QString gps();
|
|
|
|
void setFileName(const QString& fileName);
|
|
QString fileName();
|
|
|
|
void setFilePath(const QString& filePath);
|
|
QString filePath();
|
|
|
|
void setThumbnail(const QImage& thumbnail);
|
|
QImage thumbnail();
|
|
|
|
signals:
|
|
|
|
public slots:
|
|
|
|
private:
|
|
qint32 m_iID; /**< TODO: describe */
|
|
QString m_szFileName; /**< TODO: describe */
|
|
QString m_szFilePath; /**< TODO: describe */
|
|
QImage m_thumbnail; /**< TODO: describe */
|
|
qint32 m_imageWidth; /**< TODO: describe */
|
|
qint32 m_imageHeight; /**< TODO: describe */
|
|
QString m_cameraMake; /**< TODO: describe */
|
|
QString m_cameraModel; /**< TODO: describe */
|
|
QDateTime m_dateTime; /**< TODO: describe */
|
|
QString m_fNumber; /**< TODO: describe */
|
|
qint32 m_iso; /**< TODO: describe */
|
|
QString m_flash; /**< TODO: describe */
|
|
qint32 m_flashID; /**< TODO: describe */
|
|
qreal m_focalLength; /**< TODO: describe */
|
|
QString m_lensMake; /**< TODO: describe */
|
|
QString m_lensModel; /**< TODO: describe */
|
|
QString m_exposureTime; /**< TODO: describe */
|
|
qint32 m_exposureBias; /**< TODO: describe */
|
|
QString m_exifVersion; /**< TODO: describe */
|
|
QDateTime m_dateTimeOriginal; /**< TODO: describe */
|
|
QDateTime m_dateTimeDigitized; /**< TODO: describe */
|
|
qint32 m_whiteBalance; /**< TODO: describe */
|
|
qreal m_focalLength35; /**< TODO: describe */
|
|
QString m_gps; /**< TODO: describe */
|
|
};
|
|
|
|
Q_DECLARE_METATYPE(cPicture*)
|
|
|
|
/**
|
|
* @brief
|
|
*
|
|
*/
|
|
class cPictureList : public QObject, public QList<cPicture*>
|
|
{
|
|
Q_OBJECT
|
|
public:
|
|
/**
|
|
* @brief
|
|
*
|
|
* @param parent
|
|
*/
|
|
explicit cPictureList(QObject *parent = nullptr);
|
|
|
|
bool load();
|
|
|
|
cPicture* add(qint32 iID = -1);
|
|
cPicture* find(qint32 iID);
|
|
|
|
signals:
|
|
|
|
public slots:
|
|
};
|
|
|
|
#endif // CPICTURE_H
|