This commit is contained in:
2019-03-03 19:25:16 +01:00
parent ddd6a096be
commit dc26fdc78a
5 changed files with 58 additions and 3 deletions
+7
View File
@@ -16,6 +16,7 @@
cEXIF::cEXIF() : cEXIF::cEXIF() :
m_szMimeType(""),
m_iWidth(0), m_iWidth(0),
m_iHeight(0), m_iHeight(0),
m_szFileName("") m_szFileName("")
@@ -44,6 +45,7 @@ bool cEXIF::fromFile(const QString& szFileName)
Exiv2::IptcData& iptcData = image->iptcData(); Exiv2::IptcData& iptcData = image->iptcData();
Exiv2::XmpData& xmpData = image->xmpData(); Exiv2::XmpData& xmpData = image->xmpData();
m_szMimeType = QString::fromStdString(image->mimeType());
m_iWidth = image->pixelWidth(); m_iWidth = image->pixelWidth();
m_iHeight = image->pixelHeight(); m_iHeight = image->pixelHeight();
@@ -282,6 +284,11 @@ bool cEXIF::fromFile(const QString& szFileName)
return(true); return(true);
} }
QString cEXIF::mimeType()
{
return(m_szMimeType);
}
qint32 cEXIF::imageWidth() qint32 cEXIF::imageWidth()
{ {
if(m_iWidth) if(m_iWidth)
+8
View File
@@ -600,6 +600,13 @@ public:
*/ */
bool fromFile(const QString& szFileName); bool fromFile(const QString& szFileName);
/*!
\brief
\fn mimeType
\return QString
*/
QString mimeType();
/*! /*!
\brief \brief
@@ -773,6 +780,7 @@ private:
cEXIFValueList m_exifValueList; /*!< TODO: describe */ cEXIFValueList m_exifValueList; /*!< TODO: describe */
cIPTCValueList m_iptcValueList; /*!< TODO: describe */ cIPTCValueList m_iptcValueList; /*!< TODO: describe */
cXMPValueList m_xmpValueList; /*!< TODO: describe */ cXMPValueList m_xmpValueList; /*!< TODO: describe */
QString m_szMimeType; /*!< TODO: describe */
qint32 m_iWidth; /*!< TODO: describe */ qint32 m_iWidth; /*!< TODO: describe */
qint32 m_iHeight; /*!< TODO: describe */ qint32 m_iHeight; /*!< TODO: describe */
QString m_szFileName; /*!< TODO: describe */ QString m_szFileName; /*!< TODO: describe */
+26 -3
View File
@@ -21,6 +21,7 @@ cPicture::cPicture(qint32 iID, QObject *parent) :
m_szFileName(""), m_szFileName(""),
m_szFilePath(""), m_szFilePath(""),
m_iFileSize(0), m_iFileSize(0),
m_mimeType(""),
m_imageWidth(0), m_imageWidth(0),
m_imageHeight(0), m_imageHeight(0),
m_cameraMake(""), m_cameraMake(""),
@@ -55,6 +56,7 @@ bool cPicture::fromFile(const QString& szFileName)
m_szFilePath = fileInfo.absolutePath(); m_szFilePath = fileInfo.absolutePath();
m_iFileSize = fileInfo.size(); m_iFileSize = fileInfo.size();
m_thumbnail = exif.thumbnail(); m_thumbnail = exif.thumbnail();
m_mimeType = exif.mimeType();
m_imageWidth = exif.imageWidth(); m_imageWidth = exif.imageWidth();
m_imageHeight = exif.imageHeight(); m_imageHeight = exif.imageHeight();
m_imageOrientation = exif.imageOrientation(); m_imageOrientation = exif.imageOrientation();
@@ -95,18 +97,19 @@ bool cPicture::toDB()
} }
if(!query.next()) if(!query.next())
query.prepare("INSERT INTO picture (fileName, filePath, fileSize, imageWidth, imageHeight, imageOrientation, cameraMake, cameraModel, dateTime, fNumber, iso, flashID, focalLength, lensMake, lensModel, exposureTime, exposureBias, exifVersion, dateTimeOriginal, dateTimeDigitized, whiteBalance, focalLength35, gps, thumbnail) VALUES (:fileName, :filePath, :fileSize, :imageWidth, :imageHeight, :imageOrientation, :cameraMake, :cameraModel, :dateTime, :fNumber, :iso, :flashID, :focalLength, :lensMake, :lensModel, :exposureTime, :exposureBias, :exifVersion, :dateTimeOriginal, :dateTimeDigitized, :whiteBalance, :focalLength35, :gps, :thumbnail);"); query.prepare("INSERT INTO picture (fileName, filePath, fileSize, mimeType, imageWidth, imageHeight, imageOrientation, cameraMake, cameraModel, dateTime, fNumber, iso, flashID, focalLength, lensMake, lensModel, exposureTime, exposureBias, exifVersion, dateTimeOriginal, dateTimeDigitized, whiteBalance, focalLength35, gps, thumbnail) VALUES (:fileName, :filePath, :fileSize, :mimeType, :imageWidth, :imageHeight, :imageOrientation, :cameraMake, :cameraModel, :dateTime, :fNumber, :iso, :flashID, :focalLength, :lensMake, :lensModel, :exposureTime, :exposureBias, :exifVersion, :dateTimeOriginal, :dateTimeDigitized, :whiteBalance, :focalLength35, :gps, :thumbnail);");
else else
query.prepare("UPDATE picture SET fileName=:fileName, filePath=:filePath, fileSize=:fileSize, imageWidth=:imageWidth, imageHeight=:imageHeight, imageOrientation=:imageOrientation, cameraMake=:cameraMake, cameraModel=:cameraModel, dateTime=:dateTime, fNumber=:fNumber, iso=:iso, flashID=:flashID, focalLength=:focalLength, lensMake=:lensMake, lensModel=:lensModel, exposureTime=:exposureTime, exposureBias=:exposureBias, exifVersion=:exifVersion, dateTimeOriginal=:dateTimeOriginal, dateTimeDigitized=:dateTimeDigitized, whiteBalance=:whiteBalance, focalLength35=:focalLength35, gps=:gps, thumbnail=:thumbnail WHERE id=:id;"); query.prepare("UPDATE picture SET fileName=:fileName, filePath=:filePath, fileSize=:fileSize, mimeType=:mimeType, imageWidth=:imageWidth, imageHeight=:imageHeight, imageOrientation=:imageOrientation, cameraMake=:cameraMake, cameraModel=:cameraModel, dateTime=:dateTime, fNumber=:fNumber, iso=:iso, flashID=:flashID, focalLength=:focalLength, lensMake=:lensMake, lensModel=:lensModel, exposureTime=:exposureTime, exposureBias=:exposureBias, exifVersion=:exifVersion, dateTimeOriginal=:dateTimeOriginal, dateTimeDigitized=:dateTimeDigitized, whiteBalance=:whiteBalance, focalLength35=:focalLength35, gps=:gps, thumbnail=:thumbnail WHERE id=:id;");
} }
else else
query.prepare("INSERT INTO picture (fileName, filePath, fileSize, imageWidth, imageHeight, imageOrientation, cameraMake, cameraModel, dateTime, fNumber, iso, flashID, focalLength, lensMake, lensModel, exposureTime, exposureBias, exifVersion, dateTimeOriginal, dateTimeDigitized, whiteBalance, focalLength35, gps, thumbnail) VALUES (:fileName, :filePath, :fileSize, :imageWidth, :imageHeight, :imageOrientation, :cameraMake, :cameraModel, :dateTime, :fNumber, :iso, :flashID, :focalLength, :lensMake, :lensModel, :exposureTime, :exposureBias, :exifVersion, :dateTimeOriginal, :dateTimeDigitized, :whiteBalance, :focalLength35, :gps, :thumbnail);"); query.prepare("INSERT INTO picture (fileName, filePath, fileSize, mimeType, imageWidth, imageHeight, imageOrientation, cameraMake, cameraModel, dateTime, fNumber, iso, flashID, focalLength, lensMake, lensModel, exposureTime, exposureBias, exifVersion, dateTimeOriginal, dateTimeDigitized, whiteBalance, focalLength35, gps, thumbnail) VALUES (:fileName, :filePath, :fileSize, :mimeType, :imageWidth, :imageHeight, :imageOrientation, :cameraMake, :cameraModel, :dateTime, :fNumber, :iso, :flashID, :focalLength, :lensMake, :lensModel, :exposureTime, :exposureBias, :exifVersion, :dateTimeOriginal, :dateTimeDigitized, :whiteBalance, :focalLength35, :gps, :thumbnail);");
query.bindValue(":id", m_iID); query.bindValue(":id", m_iID);
query.bindValue(":fileName", m_szFileName); query.bindValue(":fileName", m_szFileName);
query.bindValue(":filePath", m_szFilePath); query.bindValue(":filePath", m_szFilePath);
query.bindValue(":fileSize", m_iFileSize); query.bindValue(":fileSize", m_iFileSize);
query.bindValue(":mimeType", m_mimeType);
query.bindValue(":imageWidth", m_imageWidth); query.bindValue(":imageWidth", m_imageWidth);
query.bindValue(":imageHeight", m_imageHeight); query.bindValue(":imageHeight", m_imageHeight);
query.bindValue(":imageOrientation", m_imageOrientation); query.bindValue(":imageOrientation", m_imageOrientation);
@@ -164,6 +167,16 @@ qint32 cPicture::id()
return(m_iID); return(m_iID);
} }
void cPicture::setMimeType(const QString &mimeType)
{
m_mimeType = mimeType;
}
QString cPicture::mimeType()
{
return(m_mimeType);
}
void cPicture::setImageWidth(const qint32& imageWidth) void cPicture::setImageWidth(const qint32& imageWidth)
{ {
m_imageWidth = imageWidth; m_imageWidth = imageWidth;
@@ -420,6 +433,8 @@ bool cPicture::operator==(const cPicture& other) const
return(false); return(false);
if(this->m_iFileSize != other.m_iFileSize) if(this->m_iFileSize != other.m_iFileSize)
return(false); return(false);
if(this->m_mimeType != other.m_mimeType)
return(false);
if(this->m_imageWidth != other.m_imageWidth) if(this->m_imageWidth != other.m_imageWidth)
return(false); return(false);
if(this->m_imageHeight != other.m_imageHeight) if(this->m_imageHeight != other.m_imageHeight)
@@ -470,6 +485,8 @@ bool cPicture::operator==(const cPicture*& other) const
return(false); return(false);
if(this->m_iFileSize != other->m_iFileSize) if(this->m_iFileSize != other->m_iFileSize)
return(false); return(false);
if(this->m_mimeType != other->m_mimeType)
return(false);
if(this->m_imageWidth != other->m_imageWidth) if(this->m_imageWidth != other->m_imageWidth)
return(false); return(false);
if(this->m_imageHeight != other->m_imageHeight) if(this->m_imageHeight != other->m_imageHeight)
@@ -520,6 +537,8 @@ bool cPicture::operator==(const cPicture* other) const
return(false); return(false);
if(this->m_iFileSize != other->m_iFileSize) if(this->m_iFileSize != other->m_iFileSize)
return(false); return(false);
if(this->m_mimeType != other->m_mimeType)
return(false);
if(this->m_imageWidth != other->m_imageWidth) if(this->m_imageWidth != other->m_imageWidth)
return(false); return(false);
if(this->m_imageHeight != other->m_imageHeight) if(this->m_imageHeight != other->m_imageHeight)
@@ -570,6 +589,8 @@ bool cPicture::operator==(cPicture* other)
return(false); return(false);
if(this->m_iFileSize != other->m_iFileSize) if(this->m_iFileSize != other->m_iFileSize)
return(false); return(false);
if(this->m_mimeType != other->m_mimeType)
return(false);
if(this->m_imageWidth != other->m_imageWidth) if(this->m_imageWidth != other->m_imageWidth)
return(false); return(false);
if(this->m_imageHeight != other->m_imageHeight) if(this->m_imageHeight != other->m_imageHeight)
@@ -644,6 +665,7 @@ bool cPictureList::load(cSplashScreen *lpSplashScreen, QProgressBar *lpProgressB
" fileName, " " fileName, "
" filePath, " " filePath, "
" fileSize, " " fileSize, "
" mimeType, "
" imageWidth, " " imageWidth, "
" imageHeight, " " imageHeight, "
" imageOrientation, " " imageOrientation, "
@@ -684,6 +706,7 @@ bool cPictureList::load(cSplashScreen *lpSplashScreen, QProgressBar *lpProgressB
lpPicture->setFileName(query.value("fileName").toString()); lpPicture->setFileName(query.value("fileName").toString());
lpPicture->setFilePath(query.value("filePath").toString()); lpPicture->setFilePath(query.value("filePath").toString());
lpPicture->setFileSize(query.value("fileSize").toLongLong()); lpPicture->setFileSize(query.value("fileSize").toLongLong());
lpPicture->setMimeType(query.value("mimeType").toString());
lpPicture->setImageWidth(query.value("imageWidth").toInt()); lpPicture->setImageWidth(query.value("imageWidth").toInt());
lpPicture->setImageHeight(query.value("imageHeight").toInt()); lpPicture->setImageHeight(query.value("imageHeight").toInt());
lpPicture->setImageOrientation(static_cast<qint16>(query.value("imageOrientation").toInt())); lpPicture->setImageOrientation(static_cast<qint16>(query.value("imageOrientation").toInt()));
+16
View File
@@ -68,6 +68,21 @@ public:
*/ */
qint32 id(); qint32 id();
/*!
\brief
\fn setMimeType
\param mimeType
*/
void setMimeType(const QString& mimeType);
/*!
\brief
\fn mimeType
\return QString
*/
QString mimeType();
/*! /*!
\brief \brief
@@ -489,6 +504,7 @@ private:
QString m_szFilePath; /*!< TODO: describe */ QString m_szFilePath; /*!< TODO: describe */
qint64 m_iFileSize; /*!< TODO: describe */ qint64 m_iFileSize; /*!< TODO: describe */
QImage m_thumbnail; /*!< TODO: describe */ QImage m_thumbnail; /*!< TODO: describe */
QString m_mimeType; /*!< TODO: describe */
qint32 m_imageWidth; /*!< TODO: describe */ qint32 m_imageWidth; /*!< TODO: describe */
qint32 m_imageHeight; /*!< TODO: describe */ qint32 m_imageHeight; /*!< TODO: describe */
qint16 m_imageOrientation; /*!< TODO: describe */ qint16 m_imageOrientation; /*!< TODO: describe */
+1
View File
@@ -116,6 +116,7 @@ bool cPictureLibrary::createDatabase()
" fileName TEXT, " " fileName TEXT, "
" filePath TEXT, " " filePath TEXT, "
" fileSize BIGINT, " " fileSize BIGINT, "
" mimeType TEXT, "
" imageWidth INTEGER, " " imageWidth INTEGER, "
" imageHeight INTEGER, " " imageHeight INTEGER, "
" imageOrientation INTEGER, " " imageOrientation INTEGER, "