This commit is contained in:
2019-02-06 16:25:00 +01:00
parent 7204b97148
commit 10a6da6b04
4 changed files with 2825 additions and 21 deletions
+2511
View File
File diff suppressed because it is too large Load Diff
+297 -18
View File
@@ -9,161 +9,440 @@
#include <QList>
/**
* @brief
*
*/
class cEXIFCompression
{
public:
cEXIFCompression(const qint32& iID, const QString& szCompression);
qint32 m_iID;
QString m_szCompression;
qint32 m_iID; /**< TODO: describe */
QString m_szCompression; /**< TODO: describe */
};
Q_DECLARE_METATYPE(cEXIFCompression*)
/**
* @brief
*
*/
class cEXIFCompressionList : public QList<cEXIFCompression*>
{
public:
cEXIFCompressionList();
/**
* @brief
*
* @param iID
* @param szCompression
* @return cEXIFCompression
*/
cEXIFCompression* add(const qint32& iID, const QString& szCompression);
/**
* @brief
*
* @param iID
* @return cEXIFCompression
*/
cEXIFCompression* find(const qint32& iID);
/**
* @brief
*
* @param iID
* @return QString
*/
QString compression(const qint32& iID);
};
Q_DECLARE_METATYPE(cEXIFCompressionList)
/**
* @brief
*
*/
class cEXIFLightSource
{
public:
cEXIFLightSource(const qint32& iID, const QString& szLightSource);
qint32 m_iID;
QString m_szLightSource;
qint32 m_iID; /**< TODO: describe */
QString m_szLightSource; /**< TODO: describe */
};
Q_DECLARE_METATYPE(cEXIFLightSource*)
/**
* @brief
*
*/
class cEXIFLightSourceList : public QList<cEXIFLightSource*>
{
public:
cEXIFLightSourceList();
/**
* @brief
*
* @param iID
* @param szLightSource
* @return cEXIFLightSource
*/
cEXIFLightSource* add(const qint32& iID, const QString& szLightSource);
/**
* @brief
*
* @param iID
* @return cEXIFLightSource
*/
cEXIFLightSource* find(const qint32& iID);
/**
* @brief
*
* @param iID
* @return QString
*/
QString lightSource(const qint32& iID);
};
/**
* @brief
*
*/
class cEXIFFlash
{
public:
cEXIFFlash(const qint32& iID, const QString& szFlash);
qint32 m_iID;
QString m_szFlash;
qint32 m_iID; /**< TODO: describe */
QString m_szFlash; /**< TODO: describe */
};
Q_DECLARE_METATYPE(cEXIFFlash*)
/**
* @brief
*
*/
class cEXIFFlashList : public QList<cEXIFFlash*>
{
public:
cEXIFFlashList();
/**
* @brief
*
* @param iID
* @param szFlash
* @return cEXIFFlash
*/
cEXIFFlash* add(const qint32& iID, const QString& szFlash);
/**
* @brief
*
* @param iID
* @return cEXIFFlash
*/
cEXIFFlash* find(const qint32& iID);
/**
* @brief
*
* @param iID
* @return QString
*/
QString flash(const qint32& iID);
};
/**
* @brief
*
*/
class cEXIFTag
{
public:
cEXIFTag(const qint32& iTAGID, const QString& szTAGName, const qint32& iIFDID, const qint32& iTypeID, const QString& szDescription);
qint32 m_iTAGID;
QString m_szTAGName;
qint32 m_iIFDID;
qint32 m_iTypeID;
QString m_szDescription;
qint32 m_iTAGID; /**< TODO: describe */
QString m_szTAGName; /**< TODO: describe */
qint32 m_iIFDID; /**< TODO: describe */
qint32 m_iTypeID; /**< TODO: describe */
QString m_szDescription; /**< TODO: describe */
};
Q_DECLARE_METATYPE(cEXIFTag*)
/**
* @brief
*
*/
class cEXIFTagList : public QList<cEXIFTag*>
{
public:
cEXIFTagList();
/**
* @brief
*
* @param iTAGID
* @param szTAGName
* @param iIFDID
* @param iTypeID
* @param szDescription
* @return cEXIFTag
*/
cEXIFTag* add(const qint32& iTAGID, const QString& szTAGName, const qint32& iIFDID, const qint32& iTypeID, const QString& szDescription);
/**
* @brief
*
* @param iTAGID
* @param iIFDID
* @return cEXIFTag
*/
cEXIFTag* find(const qint32& iTAGID, const qint32& iIFDID);
};
/**
* @brief
*
*/
class cEXIFValue
{
public:
cEXIFValue(cEXIFTag* lpEXIFTag);
/**
* @brief
*
* @return cEXIFTag
*/
cEXIFTag* exifTag();
/**
* @brief
*
* @param szValue
* @param iTypeId
* @param iCount
*/
void setValue(const QString& szValue, qint32 iTypeId, qint32 iCount = 1);
/**
* @brief
*
* @return QVariant
*/
QVariant value();
/**
* @brief
*
* @return QList<QVariant>
*/
QList<QVariant> valueList();
private:
cEXIFTag* m_lpEXIFTag;
QList<QVariant> m_valueList;
cEXIFTag* m_lpEXIFTag; /**< TODO: describe */
QList<QVariant> m_valueList; /**< TODO: describe */
/**
* @brief
*
* @param szValue
* @param iTypeId
* @return QVariant
*/
QVariant convertValue(const QString& szValue, qint32 iTypeId);
};
Q_DECLARE_METATYPE(cEXIFValue*)
/**
* @brief
*
*/
class cEXIFValueList : public QList<cEXIFValue*>
{
public:
cEXIFValueList();
/**
* @brief
*
* @param lpEXIFTag
* @return cEXIFValue
*/
cEXIFValue* add(cEXIFTag* lpEXIFTag);
/**
* @brief
*
* @param lpEXIFTag
* @return cEXIFValue
*/
cEXIFValue* find(cEXIFTag* lpEXIFTag);
};
/**
* @brief
*
*/
class cEXIF
{
public:
cEXIF(cEXIFTagList* lpEXIFTagList);
/**
* @brief
*
* @param szFileName
* @return bool
*/
bool fromFile(const QString& szFileName);
/**
* @brief
*
* @return qint32
*/
qint32 imageWidth();
/**
* @brief
*
* @return qint32
*/
qint32 imageHeight();
/**
* @brief
*
* @return QString
*/
QString cameraMake();
/**
* @brief
*
* @return QString
*/
QString cameraModel();
/**
* @brief
*
* @return QDateTime
*/
QDateTime dateTime();
/**
* @brief
*
* @return QString
*/
QString fNumber();
/**
* @brief
*
* @return qint32
*/
qint32 iso();
/**
* @brief
*
* @return QString
*/
QString flash();
/**
* @brief
*
* @return qreal
*/
qreal focalLength();
/**
* @brief
*
* @return QString
*/
QString lensMake();
/**
* @brief
*
* @return QString
*/
QString lensModel();
/**
* @brief
*
* @return QString
*/
QString exposureTime();
/**
* @brief
*
* @return qint32
*/
qint32 exposureBias();
/**
* @brief
*
* @return QString
*/
QString exifVersion();
/**
* @brief
*
* @return QDateTime
*/
QDateTime dateTimeOriginal();
/**
* @brief
*
* @return QDateTime
*/
QDateTime dateTimeDigitized();
/**
* @brief
*
* @return qint32
*/
qint32 whiteBalance();
/**
* @brief
*
* @return qreal
*/
qreal focalLength35();
/**
* @brief
*
* @return QString
*/
QString gps();
/**
* @brief
*
* @return QString
*/
QString fileName();
private:
cEXIFTagList* m_lpEXIFTagList;
cEXIFValueList m_exifValueList;
qint32 m_iWidth;
qint32 m_iHeight;
QString m_szFileName;
cEXIFTagList* m_lpEXIFTagList; /**< TODO: describe */
cEXIFValueList m_exifValueList; /**< TODO: describe */
qint32 m_iWidth; /**< TODO: describe */
qint32 m_iHeight; /**< TODO: describe */
QString m_szFileName; /**< TODO: describe */
/**
* @brief
*
* @param iTAGID
* @param iIFDID
* @return QVariant
*/
QVariant getTag(qint32 iTAGID, qint32 iIFDID);
/**
* @brief
*
* @param iTAGID
* @param iIFDID
* @return QList<QVariant>
*/
QList<QVariant> getTagList(qint32 iTAGID, qint32 iIFDID);
};
+15 -2
View File
@@ -11,17 +11,30 @@ namespace Ui {
class cMainWindow;
}
/**
* @brief
*
*/
class cMainWindow : public QMainWindow
{
Q_OBJECT
public:
/**
* @brief
*
* @param parent
*/
explicit cMainWindow(QWidget *parent = nullptr);
/**
* @brief
*
*/
~cMainWindow();
private:
Ui::cMainWindow* ui;
cEXIFTagList m_exifTagList;
Ui::cMainWindow* ui; /**< TODO: describe */
cEXIFTagList m_exifTagList; /**< TODO: describe */
};
#endif // CMAINWINDOW_H
+2 -1
View File
@@ -65,4 +65,5 @@ else: unix:!android: target.path = /opt/$${TARGET}/bin
DISTFILES += \
README.md \
LICENSE
LICENSE \
Doxyfile