[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    [digikam] core: fix cppcheck and krazy non explicit constructor from DatabaseFields::Set constainer
From:       Gilles Caulier <null () kde ! org>
Date:       2018-09-23 4:51:10
Message-ID: E1g3wMQ-0006uW-TU () code ! kde ! org
[Download RAW message or body]

Git commit 18fc9ea242951409972fcd7df8b977343fd3e45f by Gilles Caulier.
Committed on 23/09/2018 at 04:50.
Pushed by cgilles into branch 'master'.

fix cppcheck and krazy non explicit constructor from DatabaseFields::Set constainer

M  +26   -13   core/app/views/tableview/tableview_column_audiovideo.cpp
M  +34   -18   core/app/views/tableview/tableview_column_photo.cpp
M  +37   -30   core/libs/database/coredb/coredb.cpp
M  +4    -6    core/libs/database/coredb/coredbfields.h
M  +7    -6    core/libs/database/item/imageinfo.cpp
M  +1    -1    core/libs/database/models/imagefiltersettings.cpp
M  +15   -15   core/tests/database/databasefieldstest.cpp

https://commits.kde.org/digikam/18fc9ea242951409972fcd7df8b977343fd3e45f

diff --git a/core/app/views/tableview/tableview_column_audiovideo.cpp \
b/core/app/views/tableview/tableview_column_audiovideo.cpp index \
                dea707d9e4..8911f91702 100644
--- a/core/app/views/tableview/tableview_column_audiovideo.cpp
+++ b/core/app/views/tableview/tableview_column_audiovideo.cpp
@@ -129,7 +129,8 @@ QVariant ColumnAudioVideoProperties::data(TableViewModel::Item* \
const item, cons  case SubColumnAudioBitRate:
         {
             bool ok;
-            const int audioBitRate = s->tableViewModel->itemDatabaseFieldRaw(item, \
DatabaseFields::AudioBitRate).toInt(&ok); +            const int audioBitRate = \
s->tableViewModel->itemDatabaseFieldRaw(item, +                \
DatabaseFields::Set(DatabaseFields::AudioBitRate)).toInt(&ok);  
             if (!ok)
             {
@@ -141,19 +142,22 @@ QVariant ColumnAudioVideoProperties::data(TableViewModel::Item* \
const item, cons  }
         case SubColumnAudioChannelType:
         {
-            const QString audioChannelType = \
s->tableViewModel->itemDatabaseFieldRaw(item, \
DatabaseFields::AudioChannelType).toString(); +            const QString \
audioChannelType = s->tableViewModel->itemDatabaseFieldRaw(item, +                \
DatabaseFields::Set(DatabaseFields::AudioChannelType)).toString();  return \
audioChannelType;  }
         case SubColumnAudioCodec:
         {
-            const QString audioCodec = s->tableViewModel->itemDatabaseFieldRaw(item, \
DatabaseFields::AudioCodec).toString(); +            const QString audioCodec = \
s->tableViewModel->itemDatabaseFieldRaw(item, +                \
DatabaseFields::Set(DatabaseFields::AudioCodec)).toString();  return audioCodec;
         }
         case SubColumnDuration:
         {
             bool ok;
             // duration is in milliseconds
-            const double duration = s->tableViewModel->itemDatabaseFieldRaw(item, \
DatabaseFields::Duration).toDouble(&ok); +            const double duration = \
s->tableViewModel->itemDatabaseFieldRaw(item, +                \
DatabaseFields::Set(DatabaseFields::Duration)).toDouble(&ok);  
             if (!ok)
             {
@@ -167,7 +171,8 @@ QVariant ColumnAudioVideoProperties::data(TableViewModel::Item* \
const item, cons  case SubColumnFrameRate:
         {
             bool ok;
-            const double frameRate = s->tableViewModel->itemDatabaseFieldRaw(item, \
DatabaseFields::FrameRate).toDouble(&ok); +            const double frameRate = \
s->tableViewModel->itemDatabaseFieldRaw(item, +                \
DatabaseFields::Set(DatabaseFields::FrameRate)).toDouble(&ok);  
             if (!ok)
             {
@@ -179,7 +184,8 @@ QVariant ColumnAudioVideoProperties::data(TableViewModel::Item* \
const item, cons  }
         case SubColumnVideoCodec:
         {
-            const QString videoCodec = s->tableViewModel->itemDatabaseFieldRaw(item, \
DatabaseFields::VideoCodec).toString(); +            const QString videoCodec = \
s->tableViewModel->itemDatabaseFieldRaw(item, +                \
DatabaseFields::Set(DatabaseFields::VideoCodec)).toString();  return videoCodec;
         }
     }
@@ -187,15 +193,18 @@ QVariant ColumnAudioVideoProperties::data(TableViewModel::Item* \
const item, cons  return QVariant();
 }
 
-TableViewColumn::ColumnCompareResult \
ColumnAudioVideoProperties::compare(TableViewModel::Item* const itemA, \
TableViewModel::Item* const itemB) const +TableViewColumn::ColumnCompareResult \
ColumnAudioVideoProperties::compare(TableViewModel::Item* const itemA, +              \
TableViewModel::Item* const itemB) const  {
     /// @todo All the values used here are actually returned as strings in the \
QVariants, but should be stored as int/double  switch (subColumn)
     {
         case SubColumnAudioBitRate:
         {
-            const QVariant variantA = s->tableViewModel->itemDatabaseFieldRaw(itemA, \
                DatabaseFields::AudioBitRate);
-            const QVariant variantB = s->tableViewModel->itemDatabaseFieldRaw(itemB, \
DatabaseFields::AudioBitRate); +            const QVariant variantA = \
s->tableViewModel->itemDatabaseFieldRaw(itemA, +                \
DatabaseFields::Set(DatabaseFields::AudioBitRate)); +            const QVariant \
variantB = s->tableViewModel->itemDatabaseFieldRaw(itemB, +                \
DatabaseFields::Set(DatabaseFields::AudioBitRate));  bool okA;
             const int audioBitRateA = variantA.toInt(&okA);
             bool okB;
@@ -213,8 +222,10 @@ TableViewColumn::ColumnCompareResult \
ColumnAudioVideoProperties::compare(TableVi  
         case SubColumnDuration:
         {
-            const QVariant variantA = s->tableViewModel->itemDatabaseFieldRaw(itemA, \
                DatabaseFields::Duration);
-            const QVariant variantB = s->tableViewModel->itemDatabaseFieldRaw(itemB, \
DatabaseFields::Duration); +            const QVariant variantA = \
s->tableViewModel->itemDatabaseFieldRaw(itemA, +                \
DatabaseFields::Set(DatabaseFields::Duration)); +            const QVariant variantB \
= s->tableViewModel->itemDatabaseFieldRaw(itemB, +                \
DatabaseFields::Set(DatabaseFields::Duration));  bool okA;
             const double durationA = variantA.toDouble(&okA);
             bool okB;
@@ -232,8 +243,10 @@ TableViewColumn::ColumnCompareResult \
ColumnAudioVideoProperties::compare(TableVi  
         case SubColumnFrameRate:
         {
-            const QVariant variantA = s->tableViewModel->itemDatabaseFieldRaw(itemA, \
                DatabaseFields::FrameRate);
-            const QVariant variantB = s->tableViewModel->itemDatabaseFieldRaw(itemB, \
DatabaseFields::FrameRate); +            const QVariant variantA = \
s->tableViewModel->itemDatabaseFieldRaw(itemA,  +                \
DatabaseFields::Set(DatabaseFields::FrameRate)); +            const QVariant variantB \
= s->tableViewModel->itemDatabaseFieldRaw(itemB, +                \
DatabaseFields::Set(DatabaseFields::FrameRate));  bool okA;
             const double frameRateA = variantA.toDouble(&okA);
             bool okB;
diff --git a/core/app/views/tableview/tableview_column_photo.cpp \
b/core/app/views/tableview/tableview_column_photo.cpp index cc7479539f..71d730a6ba \
                100644
--- a/core/app/views/tableview/tableview_column_photo.cpp
+++ b/core/app/views/tableview/tableview_column_photo.cpp
@@ -150,24 +150,28 @@ QVariant ColumnPhotoProperties::data(TableViewModel::Item* \
const item, const int  {
         case SubColumnCameraMaker:
         {
-            QString cameraMaker = s->tableViewModel->itemDatabaseFieldRaw(item, \
DatabaseFields::Make).toString(); +            QString cameraMaker = \
s->tableViewModel->itemDatabaseFieldRaw(item, +                \
DatabaseFields::Set(DatabaseFields::Make)).toString();  \
ImagePropertiesTab::shortenedMakeInfo(cameraMaker);  return cameraMaker;
         }
         case SubColumnCameraModel:
         {
-            QString cameraModel = s->tableViewModel->itemDatabaseFieldRaw(item, \
DatabaseFields::Model).toString(); +            QString cameraModel = \
s->tableViewModel->itemDatabaseFieldRaw(item, +                \
DatabaseFields::Set(DatabaseFields::Model)).toString();  \
ImagePropertiesTab::shortenedModelInfo(cameraModel);  return cameraModel;
         }
         case SubColumnLens:
         {
-            const QString cameraLens = s->tableViewModel->itemDatabaseFieldRaw(item, \
DatabaseFields::Lens).toString(); +            const QString cameraLens = \
s->tableViewModel->itemDatabaseFieldRaw(item, +                \
DatabaseFields::Set(DatabaseFields::Lens)).toString();  return cameraLens;
         }
         case SubColumnAperture:
         {
-            const QVariant apertureVariant = \
s->tableViewModel->itemDatabaseFieldRaw(item, DatabaseFields::Aperture); +            \
const QVariant apertureVariant = s->tableViewModel->itemDatabaseFieldRaw(item, +      \
                DatabaseFields::Set(DatabaseFields::Aperture));
             const QString apertureString   = \
DMetadata::valueToString(apertureVariant, MetadataInfo::Aperture);  
             return apertureString;
@@ -175,7 +179,7 @@ QVariant ColumnPhotoProperties::data(TableViewModel::Item* const \
item, const int  case SubColumnFocal:
         {
             /// @todo Make this configurable
-            const DatabaseFields::Set requiredSet                 = \
DatabaseFields::FocalLength | DatabaseFields::FocalLength35; +            const \
DatabaseFields::Set requiredSet                 = \
                DatabaseFields::Set(DatabaseFields::FocalLength | \
                DatabaseFields::FocalLength35);
             const TableViewModel::DatabaseFieldsHashRaw rawFields = \
                s->tableViewModel->itemDatabaseFieldsRaw(item, requiredSet);
             const QVariant focalLengthVariant                     = \
                rawFields.value(DatabaseFields::FocalLength);
             const QString focalLengthString                       = \
DMetadata::valueToString(focalLengthVariant, MetadataInfo::FocalLength); @@ -198,7 \
+202,8 @@ QVariant ColumnPhotoProperties::data(TableViewModel::Item* const item, \
const int  case SubColumnExposure:
         {
             /// @todo Add a configuration option for fraction vs number, units s vs \
                ms vs mus
-            const QVariant exposureVariant = \
s->tableViewModel->itemDatabaseFieldRaw(item, DatabaseFields::ExposureTime); +        \
const QVariant exposureVariant = s->tableViewModel->itemDatabaseFieldRaw(item, +      \
DatabaseFields::Set(DatabaseFields::ExposureTime));  
             if (configuration.getSetting(QLatin1String("format"), \
QLatin1String("fraction")) == QLatin1String("fraction"))  {
@@ -241,7 +246,8 @@ QVariant ColumnPhotoProperties::data(TableViewModel::Item* const \
item, const int  }
         case SubColumnSensitivity:
         {
-            const QVariant sensitivityVariant = \
s->tableViewModel->itemDatabaseFieldRaw(item, DatabaseFields::Sensitivity); +         \
const QVariant sensitivityVariant = s->tableViewModel->itemDatabaseFieldRaw(item, +   \
                DatabaseFields::Set(DatabaseFields::Sensitivity));
             const QString sensitivityString   = \
DMetadata::valueToString(sensitivityVariant, MetadataInfo::Sensitivity);  
             if (sensitivityString.isEmpty())
@@ -253,7 +259,7 @@ QVariant ColumnPhotoProperties::data(TableViewModel::Item* const \
item, const int  }
         case SubColumnModeProgram:
         {
-            const DatabaseFields::Set requiredSet                 = \
DatabaseFields::ExposureMode | DatabaseFields::ExposureProgram; +            const \
DatabaseFields::Set requiredSet                 = \
                DatabaseFields::Set(DatabaseFields::ExposureMode | \
                DatabaseFields::ExposureProgram);
             const TableViewModel::DatabaseFieldsHashRaw rawFields = \
                s->tableViewModel->itemDatabaseFieldsRaw(item, requiredSet);
             const QVariant exposureModeVariant                    = \
                rawFields.value(DatabaseFields::ExposureMode);
             const QString exposureModeString                      = \
DMetadata::valueToString(exposureModeVariant, MetadataInfo::ExposureMode); @@ -277,14 \
+283,16 @@ QVariant ColumnPhotoProperties::data(TableViewModel::Item* const item, \
const int  }
         case SubColumnFlash:
         {
-            const QVariant flashModeVariant = \
s->tableViewModel->itemDatabaseFieldRaw(item, DatabaseFields::FlashMode); +           \
const QVariant flashModeVariant = s->tableViewModel->itemDatabaseFieldRaw(item, +     \
                DatabaseFields::Set(DatabaseFields::FlashMode));
             const QString flashModeString   = \
DMetadata::valueToString(flashModeVariant, MetadataInfo::FlashMode);  
             return flashModeString;
         }
         case SubColumnWhiteBalance:
         {
-            const QVariant whiteBalanceVariant = \
s->tableViewModel->itemDatabaseFieldRaw(item, DatabaseFields::WhiteBalance); +        \
const QVariant whiteBalanceVariant = s->tableViewModel->itemDatabaseFieldRaw(item, +  \
                DatabaseFields::Set(DatabaseFields::WhiteBalance));
             const QString whiteBalanceString   = \
DMetadata::valueToString(whiteBalanceVariant, MetadataInfo::WhiteBalance);  
             return whiteBalanceString;
@@ -304,8 +312,10 @@ TableViewColumn::ColumnCompareResult \
ColumnPhotoProperties::compare(TableViewMod  
         case SubColumnAperture:
         {
-            const QVariant variantA = s->tableViewModel->itemDatabaseFieldRaw(itemA, \
                DatabaseFields::Aperture);
-            const QVariant variantB = s->tableViewModel->itemDatabaseFieldRaw(itemB, \
DatabaseFields::Aperture); +            const QVariant variantA = \
s->tableViewModel->itemDatabaseFieldRaw(itemA, +                \
DatabaseFields::Set(DatabaseFields::Aperture)); +            const QVariant variantB \
= s->tableViewModel->itemDatabaseFieldRaw(itemB,  +                \
DatabaseFields::Set(DatabaseFields::Aperture));  const double apertureA  = \
variantA.toDouble();  const double apertureB  = variantB.toDouble();
 
@@ -315,8 +325,10 @@ TableViewColumn::ColumnCompareResult \
ColumnPhotoProperties::compare(TableViewMod  case SubColumnFocal:
         {
             /// @todo This just works if both have focal length set, not if focal \
                length 35 has to be used
-            const QVariant variantA   = \
                s->tableViewModel->itemDatabaseFieldRaw(itemA, \
                DatabaseFields::FocalLength);
-            const QVariant variantB   = \
s->tableViewModel->itemDatabaseFieldRaw(itemB, DatabaseFields::FocalLength); +        \
const QVariant variantA   = s->tableViewModel->itemDatabaseFieldRaw(itemA,  +         \
DatabaseFields::Set(DatabaseFields::FocalLength)); +            const QVariant \
variantB   = s->tableViewModel->itemDatabaseFieldRaw(itemB,  +                \
DatabaseFields::Set(DatabaseFields::FocalLength));  const double focalLengthA = \
variantA.toDouble();  const double focalLengthB = variantB.toDouble();
 
@@ -325,8 +337,10 @@ TableViewColumn::ColumnCompareResult \
ColumnPhotoProperties::compare(TableViewMod  
         case SubColumnExposure:
         {
-            const QVariant variantA    = \
                s->tableViewModel->itemDatabaseFieldRaw(itemA, \
                DatabaseFields::ExposureTime);
-            const QVariant variantB    = \
s->tableViewModel->itemDatabaseFieldRaw(itemB, DatabaseFields::ExposureTime); +       \
const QVariant variantA    = s->tableViewModel->itemDatabaseFieldRaw(itemA, +         \
DatabaseFields::Set(DatabaseFields::ExposureTime)); +            const QVariant \
variantB    = s->tableViewModel->itemDatabaseFieldRaw(itemB, +                \
DatabaseFields::Set(DatabaseFields::ExposureTime));  const double exposureTimeA = \
variantA.toDouble();  const double exposureTimeB = variantB.toDouble();
 
@@ -335,8 +349,10 @@ TableViewColumn::ColumnCompareResult \
ColumnPhotoProperties::compare(TableViewMod  
         case SubColumnSensitivity:
         {
-            const QVariant variantA   = \
                s->tableViewModel->itemDatabaseFieldRaw(itemA, \
                DatabaseFields::Sensitivity);
-            const QVariant variantB   = \
s->tableViewModel->itemDatabaseFieldRaw(itemB, DatabaseFields::Sensitivity); +        \
const QVariant variantA   = s->tableViewModel->itemDatabaseFieldRaw(itemA, +          \
DatabaseFields::Set(DatabaseFields::Sensitivity)); +            const QVariant \
variantB   = s->tableViewModel->itemDatabaseFieldRaw(itemB, +                \
DatabaseFields::Set(DatabaseFields::Sensitivity));  const double sensitivityA = \
variantA.toDouble();  const double sensitivityB = variantB.toDouble();
 
diff --git a/core/libs/database/coredb/coredb.cpp \
b/core/libs/database/coredb/coredb.cpp index 43f011694f..adc0bf7b07 100644
--- a/core/libs/database/coredb/coredb.cpp
+++ b/core/libs/database/coredb/coredb.cpp
@@ -1833,7 +1833,7 @@ void CoreDB::addImageInformation(qlonglong imageID, const \
QVariantList& infos,  boundValues << infos;
 
     d->db->execSql(query, boundValues);
-    d->db->recordChangeset(ImageChangeset(imageID, fields));
+    d->db->recordChangeset(ImageChangeset(imageID, DatabaseFields::Set(fields)));
 }
 
 void CoreDB::changeImageInformation(qlonglong imageId, const QVariantList& infos,
@@ -1848,7 +1848,7 @@ void CoreDB::changeImageInformation(qlonglong imageId, const \
QVariantList& infos  
     d->db->execUpsertDBAction(QLatin1String("changeImageInformation"),
                               imageId, fieldNames, infos);
-    d->db->recordChangeset(ImageChangeset(imageId, fields));
+    d->db->recordChangeset(ImageChangeset(imageId, DatabaseFields::Set(fields)));
 }
 
 void CoreDB::addImageMetadata(qlonglong imageID, const QVariantList& infos,
@@ -1873,7 +1873,7 @@ void CoreDB::addImageMetadata(qlonglong imageID, const \
QVariantList& infos,  boundValues << imageID << infos;
 
     d->db->execSql(query, boundValues);
-    d->db->recordChangeset(ImageChangeset(imageID, fields));
+    d->db->recordChangeset(ImageChangeset(imageID, DatabaseFields::Set(fields)));
 }
 
 void CoreDB::changeImageMetadata(qlonglong imageId, const QVariantList& infos,
@@ -1897,7 +1897,7 @@ void CoreDB::changeImageMetadata(qlonglong imageId, const \
QVariantList& infos,  boundValues << infos << imageId;
 
     d->db->execSql(query, boundValues);
-    d->db->recordChangeset(ImageChangeset(imageId, fields));
+    d->db->recordChangeset(ImageChangeset(imageId, DatabaseFields::Set(fields)));
 }
 
 void CoreDB::addVideoMetadata(qlonglong imageID, const QVariantList& infos, \
DatabaseFields::VideoMetadata fields) @@ -1921,7 +1921,7 @@ void \
CoreDB::addVideoMetadata(qlonglong imageID, const QVariantList& infos, Data  \
boundValues << imageID << infos;  
     d->db->execSql(query, boundValues);
-    d->db->recordChangeset(ImageChangeset(imageID, fields));
+    d->db->recordChangeset(ImageChangeset(imageID, DatabaseFields::Set(fields)));
 }
 
 void CoreDB::changeVideoMetadata(qlonglong imageId, const QVariantList& infos,
@@ -1944,7 +1944,7 @@ void CoreDB::changeVideoMetadata(qlonglong imageId, const \
QVariantList& infos,  boundValues << infos << imageId;
 
     d->db->execSql(query, boundValues);
-    d->db->recordChangeset(ImageChangeset(imageId, fields));
+    d->db->recordChangeset(ImageChangeset(imageId, DatabaseFields::Set(fields)));
 }
 
 void CoreDB::addImagePosition(qlonglong imageID, const QVariantList& infos, \
DatabaseFields::ImagePositions fields) @@ -1968,7 +1968,7 @@ void \
CoreDB::addImagePosition(qlonglong imageID, const QVariantList& infos, Data  \
boundValues << imageID << infos;  
     d->db->execSql(query, boundValues);
-    d->db->recordChangeset(ImageChangeset(imageID, fields));
+    d->db->recordChangeset(ImageChangeset(imageID, DatabaseFields::Set(fields)));
 }
 
 void CoreDB::changeImagePosition(qlonglong imageId, const QVariantList& infos,
@@ -1991,7 +1991,7 @@ void CoreDB::changeImagePosition(qlonglong imageId, const \
QVariantList& infos,  boundValues << infos << imageId;
 
     d->db->execSql(query, boundValues);
-    d->db->recordChangeset(ImageChangeset(imageId, fields));
+    d->db->recordChangeset(ImageChangeset(imageId, DatabaseFields::Set(fields)));
 }
 
 void CoreDB::removeImagePosition(qlonglong imageid)
@@ -1999,7 +1999,7 @@ void CoreDB::removeImagePosition(qlonglong imageid)
     d->db->execSql(QString(QString::fromUtf8("DELETE FROM ImagePositions WHERE \
imageid=?;")),  imageid);
 
-    d->db->recordChangeset(ImageChangeset(imageid, \
DatabaseFields::ImagePositionsAll)); +    \
d->db->recordChangeset(ImageChangeset(imageid, \
DatabaseFields::Set(DatabaseFields::ImagePositionsAll)));  }
 
 void CoreDB::removeImagePositionAltitude(qlonglong imageid)
@@ -2007,7 +2007,7 @@ void CoreDB::removeImagePositionAltitude(qlonglong imageid)
     d->db->execSql(QString(QString::fromUtf8("UPDATE ImagePositions SET \
altitude=NULL WHERE imageid=?;")),  imageid);
 
-    d->db->recordChangeset(ImageChangeset(imageid, DatabaseFields::Altitude));
+    d->db->recordChangeset(ImageChangeset(imageid, \
DatabaseFields::Set(DatabaseFields::Altitude)));  }
 
 QList<CommentInfo> CoreDB::getImageComments(qlonglong imageID)
@@ -2055,7 +2055,7 @@ int CoreDB::setImageComment(qlonglong imageID, const QString& \
comment, DatabaseC  " VALUES (?,?,?,?,?,?);"),
                    boundValues, 0, &id);
 
-    d->db->recordChangeset(ImageChangeset(imageID, \
DatabaseFields::ImageCommentsAll)); +    \
d->db->recordChangeset(ImageChangeset(imageID, \
DatabaseFields::Set(DatabaseFields::ImageCommentsAll)));  return id.toInt();
 }
 
@@ -2078,7 +2078,7 @@ void CoreDB::changeImageComment(int commentId, qlonglong \
imageID, const QVariant  boundValues << infos << commentId;
 
     d->db->execSql(query, boundValues);
-    d->db->recordChangeset(ImageChangeset(imageID, fields));
+    d->db->recordChangeset(ImageChangeset(imageID, DatabaseFields::Set(fields)));
 }
 
 void CoreDB::removeImageComment(int commentid, qlonglong imageid)
@@ -2086,7 +2086,7 @@ void CoreDB::removeImageComment(int commentid, qlonglong \
                imageid)
     d->db->execSql(QString::fromUtf8("DELETE FROM ImageComments WHERE id=?;"),
                    commentid);
 
-    d->db->recordChangeset(ImageChangeset(imageid, \
DatabaseFields::ImageCommentsAll)); +    \
d->db->recordChangeset(ImageChangeset(imageid, \
DatabaseFields::Set(DatabaseFields::ImageCommentsAll)));  }
 
 QString CoreDB::getImageProperty(qlonglong imageID, const QString& property)
@@ -2336,20 +2336,21 @@ QString CoreDB::getImageUuid(qlonglong imageId)
 void CoreDB::setImageHistory(qlonglong imageId, const QString& history)
 {
     d->db->execUpsertDBAction(QLatin1String("changeImageHistory"), imageId, \
                QStringList() << QLatin1String("history"), QVariantList() << \
                history);
-    d->db->recordChangeset(ImageChangeset(imageId, DatabaseFields::ImageHistory));
+    d->db->recordChangeset(ImageChangeset(imageId, \
DatabaseFields::Set(DatabaseFields::ImageHistory)));  }
 
 void CoreDB::setImageUuid(qlonglong imageId, const QString& uuid)
 {
     d->db->execUpsertDBAction(QLatin1String("changeImageHistory"), imageId, \
                QStringList() << QLatin1String("uuid"), QVariantList() << uuid);
-    d->db->recordChangeset(ImageChangeset(imageId, DatabaseFields::ImageUUID));
+    d->db->recordChangeset(ImageChangeset(imageId, \
DatabaseFields::Set(DatabaseFields::ImageUUID)));  }
 
 void CoreDB::addImageRelation(qlonglong subjectId, qlonglong objectId, \
DatabaseRelation::Type type)  {
     d->db->execSql(QString::fromUtf8("REPLACE INTO ImageRelations (subject, object, \
type) VALUES (?, ?, ?);"),  subjectId, objectId, type);
-    d->db->recordChangeset(ImageChangeset(QList<qlonglong>() << subjectId << \
objectId, DatabaseFields::ImageRelations)); +    \
d->db->recordChangeset(ImageChangeset(QList<qlonglong>() << subjectId << objectId, +  \
DatabaseFields::Set(DatabaseFields::ImageRelations)));  }
 
 void CoreDB::addImageRelations(const QList<qlonglong>& subjectIds, const \
QList<qlonglong>& objectIds, DatabaseRelation::Type type) @@ -2369,7 +2370,8 @@ void \
CoreDB::addImageRelations(const QList<qlonglong>& subjectIds, const QList<q  \
query.addBindValue(objects);  query.addBindValue(types);
     d->db->execBatch(query);
-    d->db->recordChangeset(ImageChangeset(subjectIds + objectIds, \
DatabaseFields::ImageRelations)); +    \
d->db->recordChangeset(ImageChangeset(subjectIds + objectIds, +                       \
DatabaseFields::Set(DatabaseFields::ImageRelations)));  }
 
 
@@ -2382,7 +2384,8 @@ void CoreDB::removeImageRelation(qlonglong subjectId, qlonglong \
objectId, Databa  {
     d->db->execSql(QString::fromUtf8("DELETE FROM ImageRelations WHERE subject=? AND \
object=? AND type=?;"),  subjectId, objectId, type);
-    d->db->recordChangeset(ImageChangeset(QList<qlonglong>() << subjectId << \
objectId, DatabaseFields::ImageRelations)); +    \
d->db->recordChangeset(ImageChangeset(QList<qlonglong>() << subjectId << objectId, +  \
DatabaseFields::Set(DatabaseFields::ImageRelations)));  }
 
 void CoreDB::removeImageRelation(const ImageRelation& relation)
@@ -2401,7 +2404,8 @@ QList<qlonglong> CoreDB::removeAllImageRelationsTo(qlonglong \
objectId, DatabaseR  
     d->db->execSql(QString::fromUtf8("DELETE FROM ImageRelations WHERE object=? AND \
type=?;"),  objectId, type);
-    d->db->recordChangeset(ImageChangeset(QList<qlonglong>() << affected << \
objectId, DatabaseFields::ImageRelations)); +    \
d->db->recordChangeset(ImageChangeset(QList<qlonglong>() << affected << objectId, +   \
DatabaseFields::Set(DatabaseFields::ImageRelations)));  
     return affected;
 }
@@ -2417,7 +2421,8 @@ QList<qlonglong> CoreDB::removeAllImageRelationsFrom(qlonglong \
subjectId, Databa  
     d->db->execSql(QString::fromUtf8("DELETE FROM ImageRelations WHERE subject=? AND \
type=?;"),  subjectId, type);
-    d->db->recordChangeset(ImageChangeset(QList<qlonglong>() << affected << \
subjectId, DatabaseFields::ImageRelations)); +    \
d->db->recordChangeset(ImageChangeset(QList<qlonglong>() << affected << subjectId,  + \
DatabaseFields::Set(DatabaseFields::ImageRelations)));  
     return affected;
 }
@@ -3728,8 +3733,9 @@ qlonglong CoreDB::addItem(int albumID, const QString& name,
         return -1;
     }
 
-    d->db->recordChangeset(ImageChangeset(id.toLongLong(), \
                DatabaseFields::ImagesAll));
-    d->db->recordChangeset(CollectionImageChangeset(id.toLongLong(), albumID, \
CollectionImageChangeset::Added)); +    \
d->db->recordChangeset(ImageChangeset(id.toLongLong(), \
DatabaseFields::Set(DatabaseFields::ImagesAll))); +    \
d->db->recordChangeset(CollectionImageChangeset(id.toLongLong(), albumID,  +          \
CollectionImageChangeset::Added));  return id.toLongLong();
 }
 
@@ -3743,10 +3749,11 @@ void CoreDB::updateItem(qlonglong imageID, \
                DatabaseItem::Category category,
     d->db->execSql(QString::fromUtf8("UPDATE Images SET category=?, \
modificationDate=?, fileSize=?, uniqueHash=? WHERE id=?;"),  boundValues);
 
-    d->db->recordChangeset(ImageChangeset(imageID, DatabaseFields::Category
-                                          | DatabaseFields::ModificationDate
-                                          | DatabaseFields::FileSize
-                                          | DatabaseFields::UniqueHash));
+    d->db->recordChangeset(ImageChangeset(imageID, 
+                                          \
DatabaseFields::Set(DatabaseFields::Category         | +                              \
DatabaseFields::ModificationDate | +                                                  \
DatabaseFields::FileSize         | +                                                  \
DatabaseFields::UniqueHash)));  }
 
 void CoreDB::setItemStatus(qlonglong imageID, DatabaseItem::Status status)
@@ -3755,7 +3762,7 @@ void CoreDB::setItemStatus(qlonglong imageID, \
DatabaseItem::Status status)  boundValues << (int)status << imageID;
     d->db->execSql(QString::fromUtf8("UPDATE Images SET status=? WHERE id=?;"),
                    boundValues);
-    d->db->recordChangeset(ImageChangeset(imageID, DatabaseFields::Status));
+    d->db->recordChangeset(ImageChangeset(imageID, \
DatabaseFields::Set(DatabaseFields::Status)));  }
 
 void CoreDB::setItemAlbum(qlonglong imageID, qlonglong album)
@@ -3766,7 +3773,7 @@ void CoreDB::setItemAlbum(qlonglong imageID, qlonglong album)
                    boundValues);
 
     // record that the image was assigned a new album
-    d->db->recordChangeset(ImageChangeset(imageID, DatabaseFields::Album));
+    d->db->recordChangeset(ImageChangeset(imageID, \
                DatabaseFields::Set(DatabaseFields::Album)));
     // also record that the collection was changed by adding an image to an album.
     d->db->recordChangeset(CollectionImageChangeset(imageID, album, \
CollectionImageChangeset::Added));  }
@@ -3778,7 +3785,7 @@ void CoreDB::setItemManualOrder(qlonglong imageID, qlonglong \
                value)
     d->db->execSql(QString::fromUtf8("UPDATE Images SET manualOrder=? WHERE id=?;"),
                    boundValues);
 
-    d->db->recordChangeset(ImageChangeset(imageID, DatabaseFields::ManualOrder));
+    d->db->recordChangeset(ImageChangeset(imageID, \
DatabaseFields::Set(DatabaseFields::ManualOrder)));  }
 
 void CoreDB::renameItem(qlonglong imageID, const QString& newName)
@@ -4685,7 +4692,7 @@ int CoreDB::copyItem(int srcAlbumID, const QString& srcName,
         return -1;
     }
 
-    d->db->recordChangeset(ImageChangeset(id.toLongLong(), \
DatabaseFields::ImagesAll)); +    \
d->db->recordChangeset(ImageChangeset(id.toLongLong(), \
                DatabaseFields::Set(DatabaseFields::ImagesAll)));
     d->db->recordChangeset(CollectionImageChangeset(id.toLongLong(), srcAlbumID, \
                CollectionImageChangeset::Copied));
     d->db->recordChangeset(CollectionImageChangeset(id.toLongLong(), dstAlbumID, \
CollectionImageChangeset::Added));  
diff --git a/core/libs/database/coredb/coredbfields.h \
b/core/libs/database/coredb/coredbfields.h index 882bb31684..891fe7c345 100644
--- a/core/libs/database/coredb/coredbfields.h
+++ b/core/libs/database/coredb/coredbfields.h
@@ -367,11 +367,9 @@ enum CustomEnumFlags
 };
 Q_DECLARE_FLAGS(CustomEnum, CustomEnumFlags)
 
-// krazy:exclude=explicit
-// cppcheck-suppress noExplicitConstructor
-#define DATABASEFIELDS_SET_DECLARE_METHODS(Flag, variable)                    \
-    Set(const Flag& f)                      { initialize(); variable = f;    } \
-    Set(const Flag##Field& f)               { initialize(); variable = f;    } \
+#define DATABASEFIELDS_SET_DECLARE_METHODS(Flag, variable)                     \
+    explicit Set(const Flag& f)             { initialize(); variable = f;    } \
+    explicit Set(const Flag##Field& f)      { initialize(); variable = f;    } \
     inline Flag& operator=(const Flag& f)   { return variable.operator=(f);  } \
     inline Flag& operator|=(Flag f)         { return variable.operator|=(f); } \
     inline Flag& operator^=(Flag f)         { return variable.operator^=(f); } \
@@ -390,7 +388,7 @@ class Set
 {
 public:
 
-    explicit Set()
+    Set()
     {
         initialize();
     }
diff --git a/core/libs/database/item/imageinfo.cpp \
b/core/libs/database/item/imageinfo.cpp index 65cd0d227a..611d4360ed 100644
--- a/core/libs/database/item/imageinfo.cpp
+++ b/core/libs/database/item/imageinfo.cpp
@@ -1386,8 +1386,9 @@ ImageMetadataContainer ImageInfo::imageMetadataContainer() \
const  }
 
     ImageMetadataContainer container;
-    const DatabaseFieldsHashRaw rawVideoMetadata = \
                getDatabaseFieldsRaw(DatabaseFields::ImageMetadataAll);
-    bool allFieldsNull = true;
+    const DatabaseFieldsHashRaw rawVideoMetadata = \
getDatabaseFieldsRaw(DatabaseFields::Set(DatabaseFields::ImageMetadataAll)); +    \
bool allFieldsNull                           = true; +
     for (DatabaseFields::ImageMetadataIterator it ; !it.atEnd() ; ++it)
     {
         const QVariant fieldValue = rawVideoMetadata.value(*it);
@@ -1397,7 +1398,7 @@ ImageMetadataContainer ImageInfo::imageMetadataContainer() \
const  if (!fieldValue.isNull())
         {
             const MetadataInfo::Field mdField = \
                DatabaseImageMetadataFieldsToMetadataInfoField(*it);
-            const QString fieldString = DMetadata::valueToString(fieldValue, \
mdField); +            const QString fieldString         = \
DMetadata::valueToString(fieldValue, mdField);  
             switch (*it)
             {
@@ -1481,9 +1482,9 @@ VideoMetadataContainer ImageInfo::videoMetadataContainer() \
const  }
 
     VideoMetadataContainer container;
-    const DatabaseFieldsHashRaw rawVideoMetadata = \
getDatabaseFieldsRaw(DatabaseFields::VideoMetadataAll); +    const \
DatabaseFieldsHashRaw rawVideoMetadata = \
getDatabaseFieldsRaw(DatabaseFields::Set(DatabaseFields::VideoMetadataAll)); +    \
bool allFieldsNull                           = true;  
-    bool allFieldsNull = true;
     for (DatabaseFields::VideoMetadataIterator it ; !it.atEnd() ; ++it)
     {
         const QVariant fieldValue = rawVideoMetadata.value(*it);
@@ -1493,7 +1494,7 @@ VideoMetadataContainer ImageInfo::videoMetadataContainer() \
const  if (!fieldValue.isNull())
         {
             const MetadataInfo::Field mdField = \
                DatabaseVideoMetadataFieldsToMetadataInfoField(*it);
-            const QString fieldString = DMetadata::valueToString(fieldValue, \
mdField); +            const QString fieldString         = \
DMetadata::valueToString(fieldValue, mdField);  
             switch (*it)
             {
diff --git a/core/libs/database/models/imagefiltersettings.cpp \
b/core/libs/database/models/imagefiltersettings.cpp index b0866dd543..85393de569 \
                100644
--- a/core/libs/database/models/imagefiltersettings.cpp
+++ b/core/libs/database/models/imagefiltersettings.cpp
@@ -947,7 +947,7 @@ bool GroupImageFilterSettings::isFiltering() const
 
 DatabaseFields::Set GroupImageFilterSettings::watchFlags() const
 {
-    return DatabaseFields::ImageRelations;
+    return DatabaseFields::Set(DatabaseFields::ImageRelations);
 }
 
 } // namespace Digikam
diff --git a/core/tests/database/databasefieldstest.cpp \
b/core/tests/database/databasefieldstest.cpp index 7c25d2539a..e7eab0f2ce 100644
--- a/core/tests/database/databasefieldstest.cpp
+++ b/core/tests/database/databasefieldstest.cpp
@@ -167,44 +167,44 @@ void DatabaseFieldsTest::testSetHashAddSets()
     int itemCount = 0;
 
     QVERIFY(t.isEmpty());
-    t = SetHashAddSets(t, ImagesFirst);
+    t = SetHashAddSets(t, DatabaseFields::Set(ImagesFirst));
     ++itemCount;
     QCOMPARE(t.size(), itemCount);
     QCOMPARE(t.value(ImagesFirst).getImages(), ImagesFirst);
 
-    t = SetHashAddSets(t, ImagesLast);
+    t = SetHashAddSets(t, DatabaseFields::Set(ImagesLast));
     ++itemCount;
     QCOMPARE(t.size(), itemCount);
     QCOMPARE(t.value(ImagesFirst).getImages(), ImagesFirst);
 
     // test insertion of or`ed values
-    t = SetHashAddSets(t, ImageInformationFirst|ImageInformationLast);
+    t = SetHashAddSets(t, DatabaseFields::Set(ImageInformationFirst | \
ImageInformationLast));  itemCount+=2;
     QCOMPARE(t.size(), itemCount);
     QCOMPARE(t.value(ImageInformationFirst).getImageInformation(), \
                ImageInformationFirst);
     QCOMPARE(t.value(ImageInformationLast).getImageInformation(), \
ImageInformationLast);  
-    t = SetHashAddSets(t, ImageMetadataFirst);
+    t = SetHashAddSets(t, DatabaseFields::Set(ImageMetadataFirst));
     ++itemCount;
     QCOMPARE(t.size(), itemCount);
     QCOMPARE(t.value(ImageMetadataFirst).getImageMetadata(), ImageMetadataFirst);
 
-    t = SetHashAddSets(t, VideoMetadataFirst);
+    t = SetHashAddSets(t, DatabaseFields::Set(VideoMetadataFirst));
     ++itemCount;
     QCOMPARE(t.size(), itemCount);
     QCOMPARE(t.value(VideoMetadataFirst).getVideoMetadata(), VideoMetadataFirst);
 
-    t = SetHashAddSets(t, ImageCommentsFirst);
+    t = SetHashAddSets(t, DatabaseFields::Set(ImageCommentsFirst));
     ++itemCount;
     QCOMPARE(t.size(), itemCount);
     QCOMPARE(t.value(ImageCommentsFirst).getImageComments(), ImageCommentsFirst);
 
-    t = SetHashAddSets(t, ImagePositionsFirst);
+    t = SetHashAddSets(t, DatabaseFields::Set(ImagePositionsFirst));
     ++itemCount;
     QCOMPARE(t.size(), itemCount);
     QCOMPARE(t.value(ImagePositionsFirst).getImagePositions(), ImagePositionsFirst);
 
-    t = SetHashAddSets(t, ImageHistoryInfoFirst);
+    t = SetHashAddSets(t, DatabaseFields::Set(ImageHistoryInfoFirst));
     ++itemCount;
     QCOMPARE(t.size(), itemCount);
     QCOMPARE(t.value(ImageHistoryInfoFirst).getImageHistoryInfo(), \
ImageHistoryInfoFirst); @@ -214,13 +214,13 @@ void \
DatabaseFieldsTest::testSetHashAddSets()  void \
DatabaseFieldsTest::testHashRemoveAll()  {
     Set setToAdd =
-                Set(ImagesFirst|ImagesLast)
-                .setFields(ImageInformationFirst)
-                .setFields(ImageMetadataFirst)
-                .setFields(VideoMetadataFirst)
-                .setFields(ImageCommentsFirst)
-                .setFields(ImagePositionsFirst|ImagePositionsLast)
-                .setFields(ImageHistoryInfoFirst);
+                Set(DatabaseFields::Set(ImagesFirst | ImagesLast))
+                .setFields(DatabaseFields::Set(ImageInformationFirst))
+                .setFields(DatabaseFields::Set(ImageMetadataFirst))
+                .setFields(DatabaseFields::Set(VideoMetadataFirst))
+                .setFields(DatabaseFields::Set(ImageCommentsFirst))
+                .setFields(DatabaseFields::Set(ImagePositionsFirst | \
ImagePositionsLast)) +                \
.setFields(DatabaseFields::Set(ImageHistoryInfoFirst));  
     SetHash t;
     t = SetHashAddSets(t, setToAdd);


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic