digiKam
Digikam::CoreDB Class Reference

Public Types

enum  CopyrightPropertyUnique { PropertyUnique , PropertyExtraValueUnique , PropertyNoConstraint }
 
enum  ItemSortOrder {
  NoItemSorting , ByItemName , ByItemPath , ByItemDate ,
  ByItemRating
}
 

Public Member Functions

int addAlbum (int albumRootId, const QString &relativePath, const QString &caption, const QDate &date, const QString &collection) const
 
int addAlbumRoot (AlbumRoot::Type type, const QString &identifier, const QString &specificPath, const QString &label) const
 
void addImageMetadata (qlonglong imageID, const QVariantList &infos, DatabaseFields::ImageMetadata fields=DatabaseFields::ImageMetadataAll)
 
void addImageRelation (const ImageRelation &relation)
 
void addImageRelation (qlonglong subjectId, qlonglong objectId, DatabaseRelation::Type type)
 
void addImageRelations (const QList< qlonglong > &subjectIds, const QList< qlonglong > &objectIds, DatabaseRelation::Type type)
 
void addImageTagProperty (const ImageTagProperty &property)
 
void addImageTagProperty (qlonglong imageId, int tagId, const QString &property, const QString &value)
 
qlonglong addItem (int albumID, const QString &name, DatabaseItem::Status status, DatabaseItem::Category category, const QDateTime &modificationDate, qlonglong fileSize, const QString &uniqueHash) const
 
void addItemInformation (qlonglong imageID, const QVariantList &infos, DatabaseFields::ItemInformation fields=DatabaseFields::ItemInformationAll)
 
void addItemPosition (qlonglong imageID, const QVariantList &infos, DatabaseFields::ItemPositions fields=DatabaseFields::ItemPositionsAll)
 
void addItemTag (int albumID, const QString &name, int tagID)
 
void addItemTag (qlonglong imageID, int tagID, bool newTag=false)
 
int addSearch (DatabaseSearch::Type type, const QString &name, const QString &query) const
 
int addTag (int parentTagID, const QString &name, const QString &iconKDE, qlonglong iconID) const
 
void addTagProperty (const TagProperty &property)
 
void addTagProperty (int tagId, const QString &property, const QString &value)
 
void addTagsToItems (QList< qlonglong > imageIDs, QList< int > tagIDs)
 
int addToDownloadHistory (const QString &identifier, const QString &name, qlonglong fileSize, const QDateTime &date) const
 
void addVideoMetadata (qlonglong imageID, const QVariantList &infos, DatabaseFields::VideoMetadata fields=DatabaseFields::VideoMetadataAll)
 
void changeAlbumRootType (int rootId, AlbumRoot::Type newType)
 
void changeImageComment (int commentId, qlonglong imageID, const QVariantList &infos, DatabaseFields::ItemComments fields=DatabaseFields::ItemCommentsAll)
 
void changeImageMetadata (qlonglong imageID, const QVariantList &infos, DatabaseFields::ImageMetadata fields=DatabaseFields::ImageMetadataAll)
 
void changeItemInformation (qlonglong imageID, const QVariantList &infos, DatabaseFields::ItemInformation fields=DatabaseFields::ItemInformationAll)
 
void changeItemPosition (qlonglong imageID, const QVariantList &infos, DatabaseFields::ItemPositions fields=DatabaseFields::ItemPositionsAll)
 
void changeVideoMetadata (qlonglong imageID, const QVariantList &infos, DatabaseFields::VideoMetadata fields=DatabaseFields::VideoMetadataAll)
 
void clearMetadataFromImage (qlonglong imageID)
 
bool copyAlbumProperties (int srcAlbumID, int dstAlbumID) const
 
void copyImageAttributes (qlonglong srcId, qlonglong destId)
 
void copyImageProperties (qlonglong srcId, qlonglong dstId)
 
void copyImageTags (qlonglong srcId, qlonglong dstId)
 
int copyItem (int srcAlbumID, const QString &srcName, int dstAlbumID, const QString &dstName)
 
 CoreDB (CoreDbBackend *const backend)
 
QUuid databaseUuid ()
 
void deleteAlbum (int albumID)
 
void deleteAlbumRoot (int rootId)
 
void deleteItem (int albumID, const QString &file)
 
void deleteItem (qlonglong imageId)
 
void deleteObsoleteItem (qlonglong imageId)
 
void deleteRemovedItems ()
 
void deleteSearch (int searchID)
 
void deleteSearches (DatabaseSearch::Type type)
 
void deleteStaleAlbums ()
 
void deleteTag (int tagID)
 
QList< qlonglong > findByNameAndCreationDate (const QString &fileName, const QDateTime &creationDate) const
 
qlonglong findImageId (int albumID, const QString &name, DatabaseItem::Status status, DatabaseItem::Category category, qlonglong fileSize, const QString &uniqueHash) const
 
int findInDownloadHistory (const QString &identifier, const QString &name, qlonglong fileSize, const QDateTime &date) const
 
QList< int > getAlbumAndSubalbumsForPath (int albumRootId, const QString &relativePath) const
 
QDate getAlbumAverageDate (int albumID) const
 
int getAlbumForPath (int albumRootId, const QString &relativePath, bool create=true) const
 
QDate getAlbumHighestDate (int albumID) const
 
QDate getAlbumLowestDate (int albumID) const
 
QDateTime getAlbumModificationDate (int albumID) const
 
QMap< QString, QDateTime > getAlbumModificationMap (int albumRootId) const
 
QString getAlbumRelativePath (int albumID) const
 
int getAlbumRootId (int albumID) const
 
QList< AlbumRootInfogetAlbumRoots () const
 
QList< AlbumShortInfogetAlbumShortInfos () const
 
QList< int > getAlbumsOnAlbumRoot (int albumRootId) const
 
QVariantList getAllCreationDates () const
 
QList< qlonglong > getAllItems () const
 
QHash< qlonglong, QPair< int, int > > getAllItemsWithAlbum () const
 
QStringList getDirtyOrMissingFaceImageUrls () const
 
void getFilterSettings (QStringList *imageFilter, QStringList *videoFilter, QStringList *audioFilter)
 
QMap< QString, int > getFormatStatistics () const
 
QMap< QString, int > getFormatStatistics (DatabaseItem::Category category) const
 
QList< ItemScanInfogetIdenticalFiles (const QString &uniqueHash, qlonglong fileSize, qlonglong sourceId=-1) const
 
QList< ItemScanInfogetIdenticalFiles (qlonglong id) const
 
void getIgnoreDirectoryFilterSettings (QStringList *ignoreDirectoryFilter)
 
qlonglong getImageId (int albumID, const QString &name) const
 
QList< qlonglong > getImageIds (DatabaseItem::Status status) const
 
QList< qlonglong > getImageIds (DatabaseItem::Status status, DatabaseItem::Category category) const
 
QList< qlonglong > getImageIds (int albumID, const QString &name, DatabaseItem::Status status) const
 
QList< QVariant > getImageIdsFromArea (qreal lat1, qreal lat2, qreal lng1, qreal lng2, int sortMode, const QString &sortBy) const
 
QVariantList getImageMetadata (qlonglong imageID, DatabaseFields::ImageMetadata metadataFields=DatabaseFields::ImageMetadataAll) const
 
QString getImageProperty (qlonglong imageID, const QString &property) const
 
QVariantList getImagesFields (qlonglong imageID, DatabaseFields::Images imagesFields) const
 
QVector< QList< qlonglong > > getImagesRelatedFrom (const QList< qlonglong > &subjectIds, DatabaseRelation::Type type=DatabaseRelation::UndefinedType) const
 
QList< qlonglong > getImagesRelatedFrom (qlonglong subjectId, DatabaseRelation::Type type=DatabaseRelation::UndefinedType) const
 
QVector< QList< qlonglong > > getImagesRelatingTo (const QList< qlonglong > &objectIds, DatabaseRelation::Type type=DatabaseRelation::UndefinedType) const
 
QList< qlonglong > getImagesRelatingTo (qlonglong objectId, DatabaseRelation::Type type=DatabaseRelation::UndefinedType) const
 
QList< qlonglong > getImagesWithImageTagProperty (int tagId, const QString &property) const
 
QList< qlonglong > getImagesWithProperty (const QString &property) const
 
QList< ImageTagPropertygetImageTagProperties (qlonglong imageId, int tagId=-1) const
 
QString getImageUuid (qlonglong imageId) const
 
int getItemAlbum (qlonglong imageID) const
 
QList< CommentInfogetItemComments (qlonglong imageID) const
 
QList< int > getItemCommonTagIDs (const QList< qlonglong > &imageIDList) const
 
QList< CopyrightInfogetItemCopyright (qlonglong imageID, const QString &property=QString()) const
 
qlonglong getItemFromAlbum (int albumID, const QString &fileName) const
 
ImageHistoryEntry getItemHistory (qlonglong imageId) const
 
QMap< qlonglong, QString > getItemIDsAndURLsInAlbum (int albumID) const
 
QList< qlonglong > getItemIDsInAlbum (int albumID) const
 
QList< qlonglong > getItemIDsInTag (int tagID, bool recursive=false) const
 
QVariantList getItemInformation (qlonglong imageID, DatabaseFields::ItemInformation infoFields=DatabaseFields::ItemInformationAll) const
 
QString getItemName (qlonglong imageID) const
 
QStringList getItemNamesInAlbum (int albumID, bool recursive=false) const
 
QVariantList getItemPosition (qlonglong imageID, DatabaseFields::ItemPositions positionFields=DatabaseFields::ItemPositionsAll) const
 
QVariantList getItemPositions (QList< qlonglong > imageIDs, DatabaseFields::ItemPositions fields) const
 
ItemScanInfo getItemScanInfo (qlonglong imageID) const
 
QList< ItemScanInfogetItemScanInfos (int albumID) const
 
QList< qlonglong > getItemsForUuid (const QString &uuid) const
 
ItemShortInfo getItemShortInfo (int albumRootId, const QString &relativePath, const QString &name) const
 
ItemShortInfo getItemShortInfo (qlonglong imageID) const
 
QVector< QList< int > > getItemsTagIDs (const QList< qlonglong > &imageIds) const
 
QStringList getItemsURLsWithTag (int tagId) const
 
QList< int > getItemTagIDs (qlonglong imageID) const
 
QStringList getItemTagNames (qlonglong imageID) const
 
QStringList getItemURLsInAlbum (int albumID, ItemSortOrder order=NoItemSorting) const
 
QStringList getItemURLsInTag (int tagID, bool recursive=false) const
 
QStringList getListFromImageMetadata (DatabaseFields::ImageMetadata field) const
 
QPair< int, int > getNumberOfAllItemsAndAlbums (int albumID) const
 
QMap< int, int > getNumberOfImagesInAlbums () const
 
QMap< int, int > getNumberOfImagesInTagProperties (const QString &property) const
 
int getNumberOfImagesInTagProperties (int tagId, const QString &property) const
 
QMap< int, int > getNumberOfImagesInTags () const
 
int getNumberOfItemsInAlbum (int albumID) const
 
QList< qlonglong > getObsoleteItemIds () const
 
QList< qlonglong > getOneRelatedImageEach (const QList< qlonglong > &ids, DatabaseRelation::Type type=DatabaseRelation::UndefinedType) const
 
QList< int > getRecentlyAssignedTags () const
 
QList< qlonglong > getRelatedImagesToByType (DatabaseRelation::Type type) const
 
QList< QPair< qlonglong, qlonglong > > getRelationCloud (qlonglong imageId, DatabaseRelation::Type type=DatabaseRelation::UndefinedType) const
 
SearchInfo getSearchInfo (int searchId) const
 
QString getSearchQuery (int searchId) const
 
QString getSetting (const QString &keyword) const
 
QList< int > getTagIdsWithProperties (qlonglong imageId) const
 
TagInfo getTagInfo (int tagId) const
 
QList< TagPropertygetTagProperties () const
 
QList< TagPropertygetTagProperties (const QString &property) const
 
QList< TagPropertygetTagProperties (int tagID) const
 
QList< TagShortInfogetTagShortInfos () const
 
QList< int > getTagsWithProperty (const QString &property) const
 
int getUniqueHashVersion () const
 
void getUserFilterSettings (QString *imageFilterString, QString *videoFilterString, QString *audioFilterString)
 
void getUserIgnoreDirectoryFilterSettings (QString *ignoreDirectoryFilterString)
 
QVariantList getVideoMetadata (qlonglong imageID, DatabaseFields::VideoMetadata metadataFields=DatabaseFields::VideoMetadataAll) const
 
bool hasImageHistory (qlonglong imageId) const
 
bool hasImagesRelatedFrom (qlonglong subjectId, DatabaseRelation::Type type=DatabaseRelation::UndefinedType) const
 
bool hasImagesRelatingTo (qlonglong objectId, DatabaseRelation::Type type=DatabaseRelation::UndefinedType) const
 
bool hasTags (const QList< qlonglong > &imageIDList) const
 
bool integrityCheck () const
 
bool isUniqueHashV2 () const
 
void makeStaleAlbum (int albumID)
 
void migrateAlbumRoot (int rootId, const QString &identifier)
 
void moveItem (int srcAlbumID, const QString &srcName, int dstAlbumID, const QString &dstName)
 
QList< qlonglong > removeAllImageRelationsFrom (qlonglong subjectId, DatabaseRelation::Type type) const
 
QList< qlonglong > removeAllImageRelationsTo (qlonglong objectId, DatabaseRelation::Type type) const
 
void removeImageComment (int commentId, qlonglong imageid)
 
void removeImageProperty (qlonglong imageID, const QString &property)
 
void removeImagePropertyByName (const QString &property)
 
void removeImageRelation (const ImageRelation &relation)
 
void removeImageRelation (qlonglong subjectId, qlonglong objectId, DatabaseRelation::Type type)
 
void removeImageTagProperties (qlonglong imageId, int tagId=-1, const QString &property=QString(), const QString &value=QString())
 
void removeItemAllTags (qlonglong imageID, const QList< int > &currentTagIds)
 
void removeItemCopyrightProperties (qlonglong imageID, const QString &property=QString(), const QString &extraValue=QString(), const QString &value=QString())
 
void removeItemPosition (qlonglong imageid)
 
void removeItemPositionAltitude (qlonglong imageid)
 
void removeItems (QList< qlonglong > itemIDs, const QList< int > &albumIDs=QList< int >())
 
void removeItemsFromAlbum (int albumID, const QList< qlonglong > &ids_forInformation=QList< qlonglong >())
 
void removeItemsPermanently (QList< qlonglong > itemIDs, const QList< int > &albumIDs=QList< int >())
 
void removeItemTag (qlonglong imageID, int tagID)
 
void removeTagProperties (int tagId, const QString &property=QString(), const QString &value=QString())
 
void removeTagsFromItems (QList< qlonglong > imageIDs, const QList< int > &tagIDs)
 
void renameAlbum (int albumID, int newAlbumRootId, const QString &newRelativePath)
 
void renameItem (qlonglong imageID, const QString &newName)
 
AlbumInfo::List scanAlbums () const
 
SearchInfo::List scanSearches () const
 
TagInfo::List scanTags () const
 
void setAlbumCaption (int albumID, const QString &caption)
 
void setAlbumCategory (int albumID, const QString &category)
 
void setAlbumDate (int albumID, const QDate &date)
 
void setAlbumIcon (int albumID, qlonglong iconID)
 
void setAlbumModificationDate (int albumID, const QDateTime &modificationDate)
 
void setAlbumRootLabel (int rootId, const QString &newLabel)
 
void setAlbumRootPath (int rootId, const QString &newPath)
 
void setFilterSettings (const QStringList &imageFilter, const QStringList &videoFilter, const QStringList &audioFilter)
 
void setIgnoreDirectoryFilterSettings (const QStringList &ignoreDirectoryFilter)
 
int setImageComment (qlonglong imageID, const QString &comment, DatabaseComment::Type type, const QString &language=QString(), const QString &author=QString(), const QDateTime &date=QDateTime()) const
 
void setImageProperty (qlonglong imageID, const QString &property, const QString &value)
 
void setImageUuid (qlonglong imageId, const QString &uuid)
 
void setItemAlbum (qlonglong imageID, qlonglong albumId)
 
void setItemCopyrightProperty (qlonglong imageID, const QString &property, const QString &value, const QString &extraValue=QString(), CopyrightPropertyUnique uniqueness=PropertyUnique)
 
void setItemHistory (qlonglong imageId, const QString &history)
 
void setItemManualOrder (qlonglong imageID, qlonglong value)
 
void setItemModificationDate (qlonglong imageID, const QDateTime &modificationDate)
 
void setItemStatus (qlonglong imageID, DatabaseItem::Status status)
 
void setSetting (const QString &keyword, const QString &value)
 
void setTagIcon (int tagID, const QString &iconKDE, qlonglong iconID)
 
void setTagName (int tagID, const QString &name)
 
void setTagParentID (int tagID, int newParentTagID)
 
void setUniqueHashVersion (int version)
 
void setUserFilterSettings (const QStringList &imageFilter, const QStringList &videoFilter, const QStringList &audioFilter)
 
void setUserIgnoreDirectoryFilterSettings (const QStringList &ignoreDirectoryFilters)
 
void updateItem (qlonglong imageID, DatabaseItem::Category category, const QDateTime &modificationDate, qlonglong fileSize, const QString &uniqueHash)
 
void updateSearch (int searchID, DatabaseSearch::Type type, const QString &name, const QString &query)
 
void vacuum ()
 
 ~CoreDB ()
 

Static Public Member Functions

static void addBoundValuePlaceholders (QString &query, int count)
 
static QStringList imageCommentsFieldList (DatabaseFields::ItemComments fields)
 
static QStringList imageInformationFieldList (DatabaseFields::ItemInformation fields)
 
static QStringList imageMetadataFieldList (DatabaseFields::ImageMetadata fields)
 
static QStringList imagePositionsFieldList (DatabaseFields::ItemPositions fields)
 
static QStringList imagesFieldList (DatabaseFields::Images fields)
 
static QStringList videoMetadataFieldList (DatabaseFields::VideoMetadata fields)
 

Protected Member Functions

QVector< QList< qlonglong > > getRelatedImages (QList< qlonglong > ids, bool fromOrTo, DatabaseRelation::Type type, bool boolean) const
 
QList< qlonglong > getRelatedImages (qlonglong id, bool fromOrTo, DatabaseRelation::Type type, bool boolean) const
 

Friends

class Digikam::CoreDbAccess
 

Member Enumeration Documentation

◆ CopyrightPropertyUnique

Enumerator
PropertyUnique 
PropertyExtraValueUnique 
PropertyNoConstraint 

◆ ItemSortOrder

Enumerator
NoItemSorting 
ByItemName 
ByItemPath 
ByItemDate 
ByItemRating 

Constructor & Destructor Documentation

◆ CoreDB()

Digikam::CoreDB::CoreDB ( CoreDbBackend *const  backend)
explicit

Constructor

◆ ~CoreDB()

Digikam::CoreDB::~CoreDB ( )

Destructor

Member Function Documentation

◆ addAlbum()

int Digikam::CoreDB::addAlbum ( int  albumRootId,
const QString &  relativePath,
const QString &  caption,
const QDate &  date,
const QString &  collection 
) const

Add a new album to the database with the given attributes

Parameters
albumRootIdid of the album root of the new album
relativePathurl of the album
captionthe album caption
datethe date for the album
collectionthe album collection
Returns
the id of the album added or -1 if it failed

References Digikam::AlbumChangeset::Added.

Referenced by Digikam::CollectionScanner::checkAlbum(), Digikam::AlbumManager::createPAlbum(), and getAlbumForPath().

◆ addAlbumRoot()

int Digikam::CoreDB::addAlbumRoot ( AlbumRoot::Type  type,
const QString &  identifier,
const QString &  specificPath,
const QString &  label 
) const

Add a new album to the database with the given attributes

Parameters
typeThe type of the album root
specificPathThe path specific to volume
labelAn (optional) user-visible label
Returns
the album root id of the newly created root

References Digikam::AlbumRootChangeset::Added.

◆ addBoundValuePlaceholders()

◆ addImageMetadata()

void Digikam::CoreDB::addImageMetadata ( qlonglong  imageID,
const QVariantList &  infos,
DatabaseFields::ImageMetadata  fields = DatabaseFields::ImageMetadataAll 
)

Add (or replace) the ImageMetadata of the specified item. If there is already an entry, it will be discarded. The QVariantList shall have at most 16 entries, of types as defined in the DBSCHEMA and in metadatainfo.h, in this order: 0) String make 1) String model 2) String lens 3) Double aperture 4) Double focalLength 5) Double focalLength35 6) Double exposureTime 7) Int exposureProgram 8) Int exposureMode 9) Int sensitivity 10) Int flash 11) Int WhiteBalance 12) Int WhiteBalanceColorTemperature 13) Int meteringMode 14) Double subjectDistance 15) Double subjectDistanceCategory You can leave out entries from this list. Indicate the values that you have passed in the ImageMetadata flag in the third parameters.

References addBoundValuePlaceholders(), imageMetadataFieldList(), and Digikam::DatabaseFields::ImageMetadataNone.

Referenced by Digikam::ItemScanner::commitImageMetadata().

◆ addImageRelation() [1/2]

void Digikam::CoreDB::addImageRelation ( const ImageRelation relation)

◆ addImageRelation() [2/2]

void Digikam::CoreDB::addImageRelation ( qlonglong  subjectId,
qlonglong  objectId,
DatabaseRelation::Type  type 
)

◆ addImageRelations()

void Digikam::CoreDB::addImageRelations ( const QList< qlonglong > &  subjectIds,
const QList< qlonglong > &  objectIds,
DatabaseRelation::Type  type 
)

This method requires two lists of same size and will add list1[0]->list2[0],...,list1[n]->list2[n]

References Digikam::DatabaseFields::ImageRelations.

Referenced by Digikam::ItemScanner::resolveImageHistory().

◆ addImageTagProperty() [1/2]

◆ addImageTagProperty() [2/2]

void Digikam::CoreDB::addImageTagProperty ( qlonglong  imageId,
int  tagId,
const QString &  property,
const QString &  value 
)

Adds a tag property. Note that this never replaces existing entries. It is also all right to add multiple entries for a tag with the same property. To replace an existing entry, remove the entry before.

References Digikam::ImageTagChangeset::PropertiesChanged, and value.

Referenced by addImageTagProperty(), Digikam::ItemTagPair::addProperty(), and Digikam::ItemTagPair::setProperty().

◆ addItem()

qlonglong Digikam::CoreDB::addItem ( int  albumID,
const QString &  name,
DatabaseItem::Status  status,
DatabaseItem::Category  category,
const QDateTime &  modificationDate,
qlonglong  fileSize,
const QString &  uniqueHash 
) const

Put a new item in the database or replace an existing one.

Returns
the id of item added or -1 if it fails

References Digikam::CollectionImageChangeset::Added, and Digikam::DatabaseFields::ImagesAll.

Referenced by Digikam::ItemScanner::commitAddImage().

◆ addItemInformation()

void Digikam::CoreDB::addItemInformation ( qlonglong  imageID,
const QVariantList &  infos,
DatabaseFields::ItemInformation  fields = DatabaseFields::ItemInformationAll 
)

Add (or replace) the ItemInformation of the specified item. If there is already an entry, it will be discarded. The QVariantList shall have 9 entries, of types in this order: 0) Int rating 1) DateTime* creationDate 2) DateTime* digitizationDate 3) Int orientation 4) Int width 5) Int height 6) String format 7) Int colorDepth 8) Int colorModel ( (*) You can provide the date also as a string in the format Qt::IsoDate) You can leave out entries from this list, which will then be filled with null values. Indicate the values that you have passed in the ItemInformation flag in the third parameters.

References addBoundValuePlaceholders(), imageInformationFieldList(), and Digikam::DatabaseFields::ItemInformationNone.

Referenced by Digikam::ItemScanner::commitItemInformation().

◆ addItemPosition()

void Digikam::CoreDB::addItemPosition ( qlonglong  imageID,
const QVariantList &  infos,
DatabaseFields::ItemPositions  fields = DatabaseFields::ItemPositionsAll 
)

Add (or replace) the ItemPosition of the specified item. If there is already an entry, it will be discarded. The QVariantList shall have at most 10 entries, of types in this order: 0) String Latitude 1) Double LatitudeNumber 2) String Longitude 3) Double LongitudeNumber 4) Double Altitude 5) Double Orientation 6) Double Tilt 7) Double Roll 8) Double Accuracy 9) String Description You can leave out entries from this list. Indicate the values that you have passed in the ItemInfo flag in the third parameters.

References addBoundValuePlaceholders(), imagePositionsFieldList(), and Digikam::DatabaseFields::ItemPositionsNone.

Referenced by Digikam::ItemPosition::apply(), Digikam::ItemScanner::commitItemPosition(), and Digikam::CollectionScanner::copyFileProperties().

◆ addItemTag() [1/2]

void Digikam::CoreDB::addItemTag ( int  albumID,
const QString &  name,
int  tagID 
)

Add a tag for the item

Parameters
albumIDthe albumID of the item
namethe name of the item
tagIDthe tagID for the tag

References addItemTag(), and getImageId().

◆ addItemTag() [2/2]

void Digikam::CoreDB::addItemTag ( qlonglong  imageID,
int  tagID,
bool  newTag = false 
)

Add a tag for the item

Parameters
imageIDthe ID of the item
tagIDthe tagID for the tag
newTagadd to last assigned tag list

References Digikam::ImageTagChangeset::Added, and Digikam::TagsCache::instance().

Referenced by addItemTag(), Digikam::ItemScanner::commitImageHistory(), Digikam::ItemScanner::resolveImageHistory(), and Digikam::ItemInfo::setTag().

◆ addSearch()

int Digikam::CoreDB::addSearch ( DatabaseSearch::Type  type,
const QString &  name,
const QString &  query 
) const

Add a new search to the database with the given attributes

Parameters
typesearch type
namename of the search
querysearch query to use
Returns
the id of the album added or -1 if it failed

References Digikam::SearchChangeset::Added.

Referenced by Digikam::AlbumManager::createSAlbum(), and Digikam::HaarIface::rebuildDuplicatesAlbums().

◆ addTag()

int Digikam::CoreDB::addTag ( int  parentTagID,
const QString &  name,
const QString &  iconKDE,
qlonglong  iconID 
) const

Adds a new tag to the database with given name, icon and parent id.

Parameters
parentTagIDthe id of the tag which will become the new tags parent
namethe name of the tag
iconKDEthe name of the icon file (this is filename which kde iconloader can load up)
iconIDthe id of the icon file Note: if the iconKDE parameter is empty, then the iconID parameter is used
Returns
the id of the tag added or -1 if it failed

References Digikam::TagChangeset::Added, and Digikam::BdEngineBackend::NoErrors.

Referenced by Digikam::TagsCache::createTag(), and Digikam::AlbumManager::createTAlbum().

◆ addTagProperty() [1/2]

void Digikam::CoreDB::addTagProperty ( const TagProperty property)

◆ addTagProperty() [2/2]

void Digikam::CoreDB::addTagProperty ( int  tagId,
const QString &  property,
const QString &  value 
)

Adds a tag property. Note that this never replaces existing entries. It is also all right to add multiple entries for a tag with the same property. To replace an existing entry, remove the entry before.

References Digikam::TagChangeset::PropertiesChanged, and value.

Referenced by Digikam::TagProperties::addProperty(), addTagProperty(), and Digikam::TagProperties::setProperty().

◆ addTagsToItems()

void Digikam::CoreDB::addTagsToItems ( QList< qlonglong >  imageIDs,
QList< int >  tagIDs 
)

◆ addToDownloadHistory()

int Digikam::CoreDB::addToDownloadHistory ( const QString &  identifier,
const QString &  name,
qlonglong  fileSize,
const QDateTime &  date 
) const

Add the specified fingerprint to the download history table. Returns the id of the entry.

Referenced by Digikam::CoreDbDownloadHistory::setDownloaded().

◆ addVideoMetadata()

void Digikam::CoreDB::addVideoMetadata ( qlonglong  imageID,
const QVariantList &  infos,
DatabaseFields::VideoMetadata  fields = DatabaseFields::VideoMetadataAll 
)

Add (or replace) the VideoMetadata of the specified item. If there is already an entry, it will be discarded. The QVariantList shall have 8 entries, of types in this order: 0) String AspectRatio 1) String AudioBitRate 2) String AudioChannelType 3) String AudioCodec 4) String Duration 5) String FrameRate 6) String VideoCodec You can leave out entries from this list, which will then be filled with null values. Indicate the values that you have passed in the VideoMetadata flag in the third parameters.

References addBoundValuePlaceholders(), videoMetadataFieldList(), and Digikam::DatabaseFields::VideoMetadataNone.

Referenced by Digikam::ItemScanner::commitVideoMetadata().

◆ changeAlbumRootType()

void Digikam::CoreDB::changeAlbumRootType ( int  rootId,
AlbumRoot::Type  newType 
)

Sets the type of the specified album root to a new value.

References Digikam::AlbumRootChangeset::PropertiesChanged.

Referenced by Digikam::CollectionManager::refreshLocation().

◆ changeImageComment()

void Digikam::CoreDB::changeImageComment ( int  commentId,
qlonglong  imageID,
const QVariantList &  infos,
DatabaseFields::ItemComments  fields = DatabaseFields::ItemCommentsAll 
)

Changes the properties of a comment. The QVariantList shall have at most 5 entries, of types in this order: 0) Int Type 1) String Language 2) String Author 3) DateTime Date 4) String Comment

References imageCommentsFieldList(), and Digikam::DatabaseFields::ItemCommentsNone.

Referenced by Digikam::ItemComments::apply().

◆ changeImageMetadata()

void Digikam::CoreDB::changeImageMetadata ( qlonglong  imageID,
const QVariantList &  infos,
DatabaseFields::ImageMetadata  fields = DatabaseFields::ImageMetadataAll 
)

Change the indicated fields of the image information for the specified item. This method does nothing if the item does not yet have an entry in the ItemInformation table. The parameters are as for the method above.

References imageMetadataFieldList(), and Digikam::DatabaseFields::ImageMetadataNone.

◆ changeItemInformation()

void Digikam::CoreDB::changeItemInformation ( qlonglong  imageID,
const QVariantList &  infos,
DatabaseFields::ItemInformation  fields = DatabaseFields::ItemInformationAll 
)

Change the indicated fields of the image information for the specified item. Fields not indicated by the fields parameter will not be touched. This method does nothing if the item does not yet have an entry in the ItemInformation table. The parameters are as for the method above.

References imageInformationFieldList(), and Digikam::DatabaseFields::ItemInformationNone.

Referenced by clearMetadataFromImage(), Digikam::ItemScanner::commitItemInformation(), Digikam::CollectionScanner::copyFileProperties(), Digikam::ItemInfo::setDateTime(), Digikam::ItemInfo::setOrientation(), and Digikam::ItemInfo::setRating().

◆ changeItemPosition()

void Digikam::CoreDB::changeItemPosition ( qlonglong  imageID,
const QVariantList &  infos,
DatabaseFields::ItemPositions  fields = DatabaseFields::ItemPositionsAll 
)

Change the indicated fields of the image information for the specified item. This method does nothing if the item does not yet have an entry in the ItemInformation table. The parameters are as for the method above.

References imagePositionsFieldList(), and Digikam::DatabaseFields::ItemPositionsNone.

Referenced by Digikam::ItemPosition::apply().

◆ changeVideoMetadata()

void Digikam::CoreDB::changeVideoMetadata ( qlonglong  imageID,
const QVariantList &  infos,
DatabaseFields::VideoMetadata  fields = DatabaseFields::VideoMetadataAll 
)

Change the indicated fields of the video information for the specified item. This method does nothing if the item does not yet have an entry in the ItemInformation table. The parameters are as for the method above.

References videoMetadataFieldList(), and Digikam::DatabaseFields::VideoMetadataNone.

◆ clearMetadataFromImage()

◆ copyAlbumProperties()

bool Digikam::CoreDB::copyAlbumProperties ( int  srcAlbumID,
int  dstAlbumID 
) const

Copy the properties of the given srcAlbum to the dstAlbum. Both albums must exist.

Returns
true if the operations succeeds

Referenced by Digikam::CollectionScanner::checkAlbum().

◆ copyImageAttributes()

◆ copyImageProperties()

void Digikam::CoreDB::copyImageProperties ( qlonglong  srcId,
qlonglong  dstId 
)

Copies all entries in the ImageProperties table.

Referenced by Digikam::CollectionScanner::copyFileProperties(), and copyImageAttributes().

◆ copyImageTags()

void Digikam::CoreDB::copyImageTags ( qlonglong  srcId,
qlonglong  dstId 
)

Copies all entries in the ImageTags table.

References Digikam::ImageTagChangeset::Added, and Digikam::ImageTagChangeset::PropertiesChanged.

Referenced by copyImageAttributes().

◆ copyItem()

int Digikam::CoreDB::copyItem ( int  srcAlbumID,
const QString &  srcName,
int  dstAlbumID,
const QString &  dstName 
)

Copy the attributes of an item to a different item. Useful when say a file is copied. The operation fails (returns -1) of src and dest are identical.

Parameters
srcAlbumIDthe id of the source album
dstAlbumIDthe id of the destination album
srcNamethe name of the source file
dstNamethe name of the destination file
Returns
the id of item added or -1 if it fails

References Digikam::CollectionImageChangeset::Added, Digikam::CollectionImageChangeset::Copied, copyImageAttributes(), deleteItem(), getImageId(), and Digikam::DatabaseFields::ImagesAll.

Referenced by Digikam::ItemInfo::copyItem().

◆ databaseUuid()

QUuid Digikam::CoreDB::databaseUuid ( )

Returns a UUID for the database file. This UUID is kept stable over schema updates.

References getSetting(), and setSetting().

◆ deleteAlbum()

void Digikam::CoreDB::deleteAlbum ( int  albumID)

Deletes an album from the database. This will not delete the subalbums of the album.

Parameters
albumIDthe id of the album

References Digikam::AlbumChangeset::Deleted, and Digikam::BdEngineBackend::NoErrors.

◆ deleteAlbumRoot()

void Digikam::CoreDB::deleteAlbumRoot ( int  rootId)

Deletes an album root from the database.

Parameters
rootIdthe id of the album root

References Digikam::AlbumRootChangeset::Deleted, and Digikam::BdEngineBackend::NoErrors.

Referenced by Digikam::CollectionManager::removeLocation().

◆ deleteItem() [1/2]

void Digikam::CoreDB::deleteItem ( int  albumID,
const QString &  file 
)

Deletes an item from the database.

Parameters
albumIDThe id of the album.
fileThe filename of the file to delete.

References Digikam::CollectionImageChangeset::Deleted, and getImageId().

Referenced by copyItem(), and moveItem().

◆ deleteItem() [2/2]

void Digikam::CoreDB::deleteItem ( qlonglong  imageId)

Deletes an item from the database if it does not belong to an album. This method can only be used if the album of the image is NULL!

Parameters
imageIdThe id of the image.

◆ deleteObsoleteItem()

void Digikam::CoreDB::deleteObsoleteItem ( qlonglong  imageId)

Deletes an item from the database without checking the album.

Parameters
imageIdThe id of the image.

◆ deleteRemovedItems()

void Digikam::CoreDB::deleteRemovedItems ( )

Delete all items from the database that are marked as removed. Use with care!

References Digikam::DatabaseItem::Obsolete, and Digikam::CollectionImageChangeset::RemovedDeleted.

◆ deleteSearch()

void Digikam::CoreDB::deleteSearch ( int  searchID)

Delete a search from the database.

Parameters
searchIDthe id of the search

References Digikam::SearchChangeset::Deleted.

Referenced by Digikam::AlbumManager::deleteSAlbum(), and Digikam::HaarIface::rebuildDuplicatesAlbums().

◆ deleteSearches()

void Digikam::CoreDB::deleteSearches ( DatabaseSearch::Type  type)

Delete all search with the given type

References Digikam::SearchChangeset::Deleted.

Referenced by Digikam::HaarIface::rebuildDuplicatesAlbums().

◆ deleteStaleAlbums()

void Digikam::CoreDB::deleteStaleAlbums ( )

Deletes albums from the database that were previously removed with makeStaleAlbum()

References Digikam::BdEngineBackend::NoErrors.

Referenced by Digikam::CollectionScanner::completeScan(), and Digikam::CollectionScanner::partialScan().

◆ deleteTag()

void Digikam::CoreDB::deleteTag ( int  tagID)

Deletes a tag from the database. This will not delete the subtags of the tag.

Parameters
tagIDthe id of the tag

References Digikam::TagChangeset::Deleted.

Referenced by Digikam::AlbumManager::deleteTAlbum().

◆ findByNameAndCreationDate()

QList< qlonglong > Digikam::CoreDB::findByNameAndCreationDate ( const QString &  fileName,
const QDateTime &  creationDate 
) const

Returns all items with the given file name and creation date.

Referenced by Digikam::ItemScanner::resolveHistoryImageId().

◆ findImageId()

qlonglong Digikam::CoreDB::findImageId ( int  albumID,
const QString &  name,
DatabaseItem::Status  status,
DatabaseItem::Category  category,
qlonglong  fileSize,
const QString &  uniqueHash 
) const

Find the imageId fitting to the information given for the item

Parameters
albumIDthe albumID of the item (-1 means NULL)
namethe name of the item
statusthe status of the item
categorythe category of the item
fileSizethe file size
uniqueHashthe unique hash
Returns
the ImageId for the item, or -1 if no matching or more than one infos were found.

Referenced by Digikam::ItemScanner::commitAddImage().

◆ findInDownloadHistory()

int Digikam::CoreDB::findInDownloadHistory ( const QString &  identifier,
const QString &  name,
qlonglong  fileSize,
const QDateTime &  date 
) const

Search for the specified fingerprint in the download history table. Returns the id of the entry, or -1 if not found.

◆ getAlbumAndSubalbumsForPath()

QList< int > Digikam::CoreDB::getAlbumAndSubalbumsForPath ( int  albumRootId,
const QString &  relativePath 
) const

Find out the album ids for a given relative path, including the subalbums.

Parameters
albumRootIdid of the album root of the album
relativePathThe path for which you want the albumIDs relative to the album root
Returns
a list of album ids. The list is empty if no albums are found.

Referenced by Digikam::ItemLister::listPAlbum(), and Digikam::CollectionScanner::scanForStaleAlbums().

◆ getAlbumAverageDate()

QDate Digikam::CoreDB::getAlbumAverageDate ( int  albumID) const

Returns the average date of all images for that album.

Parameters
albumIDthe id of the album to calculate
Returns
the date.

◆ getAlbumForPath()

int Digikam::CoreDB::getAlbumForPath ( int  albumRootId,
const QString &  relativePath,
bool  create = true 
) const

Find out the album for a given folder.

Parameters
albumRootIdid of the album root of the album
relativePathThe relative path for which you want the albumID relative to the album root
createIf true, an album is newly created if it does not yet exist. If false, -1 is returned if no album exists.
Returns
The albumID for that folder, or -1 if it does not exist and create is false.

References addAlbum().

Referenced by Digikam::CollectionScanner::checkAlbum(), Digikam::CollectionScanner::countItemsInFolder(), Digikam::AbstractAlbumTreeView::doLoadState(), Digikam::ItemLister::listPAlbum(), and Digikam::CollectionScanner::scanAlbumRoot().

◆ getAlbumHighestDate()

QDate Digikam::CoreDB::getAlbumHighestDate ( int  albumID) const

Returns the highest/newest date of all images for that album.

Parameters
albumIDthe id of the album to calculate
Returns
the date.

◆ getAlbumLowestDate()

QDate Digikam::CoreDB::getAlbumLowestDate ( int  albumID) const

Returns the lowest/oldest date of all images for that album.

Parameters
albumIDthe id of the album to calculate
Returns
the date.

◆ getAlbumModificationDate()

QDateTime Digikam::CoreDB::getAlbumModificationDate ( int  albumID) const

Returns the QDateTime of the album modification date.

Parameters
albumIDthe id of the album

Referenced by Digikam::CollectionScanner::scanAlbum().

◆ getAlbumModificationMap()

QMap< QString, QDateTime > Digikam::CoreDB::getAlbumModificationMap ( int  albumRootId) const

Returns a QMap with relative path and the album modification date.

Parameters
albumRootIDid of the album root of the album

◆ getAlbumRelativePath()

QString Digikam::CoreDB::getAlbumRelativePath ( int  albumID) const

Given an albumid, this returns the relative path for that album (the path below the album root, starting with a slash)

Parameters
albumIDthe id of the album
Returns
the url of the album

Referenced by Digikam::ItemQueryBuilder::buildField(), getItemNamesInAlbum(), getNumberOfAllItemsAndAlbums(), and renameAlbum().

◆ getAlbumRootId()

int Digikam::CoreDB::getAlbumRootId ( int  albumID) const

Given an albumid, this returns the album root id for that album

Parameters
albumIDthe id of the albumdb
Returns
the id of the album root of this album

Referenced by Digikam::ItemQueryBuilder::buildField(), getItemIDsAndURLsInAlbum(), getItemNamesInAlbum(), getItemURLsInAlbum(), getNumberOfAllItemsAndAlbums(), and renameAlbum().

◆ getAlbumRoots()

QList< AlbumRootInfo > Digikam::CoreDB::getAlbumRoots ( ) const

◆ getAlbumShortInfos()

QList< AlbumShortInfo > Digikam::CoreDB::getAlbumShortInfos ( ) const

Returns all albums in the database with their albumRoot and ID, ordered by id.

References Digikam::AlbumShortInfo::albumRootId, Digikam::AlbumShortInfo::id, and Digikam::AlbumShortInfo::relativePath.

Referenced by Digikam::CollectionScanner::scanForStaleAlbums().

◆ getAlbumsOnAlbumRoot()

QList< int > Digikam::CoreDB::getAlbumsOnAlbumRoot ( int  albumRootId) const

Find out all album ids of a given album root

Returns
a list of album ids.

Referenced by Digikam::CollectionManager::removeLocation().

◆ getAllCreationDates()

QVariantList Digikam::CoreDB::getAllCreationDates ( ) const

Returns a QVariantList of creationDate of all items

Referenced by Digikam::DatesJob::run().

◆ getAllItems()

QList< qlonglong > Digikam::CoreDB::getAllItems ( ) const

Returns all ids of items in images table.

◆ getAllItemsWithAlbum()

QHash< qlonglong, QPair< int, int > > Digikam::CoreDB::getAllItemsWithAlbum ( ) const

Returns all ids of items with album ids in images table. QPair.first == albumRootID QPair.second == albumID

Referenced by Digikam::HaarIface::Private::rebuildSignatureCache().

◆ getDirtyOrMissingFaceImageUrls()

QStringList Digikam::CoreDB::getDirtyOrMissingFaceImageUrls ( ) const

Returns a list of all images where the Faces have either not been detected yet, or is outdated because the file is identified as changed since the generation of the fingerprint. Return image ids or item URLs.

References Digikam::CollectionManager::albumRootPath(), and Digikam::CollectionManager::instance().

◆ getFilterSettings()

void Digikam::CoreDB::getFilterSettings ( QStringList *  imageFilter,
QStringList *  videoFilter,
QStringList *  audioFilter 
)

Get the settings for the file name filters of this database. Returns a list with lowercase suffixes only, no wildcards added ("png", not "*.png") Returned is a joint result of main and user settings. If you are not interested in a specific value, pass 0.

References getSetting().

Referenced by Digikam::ApplicationSettings::getAllFileFilter(), Digikam::ApplicationSettings::getAudioFileFilter(), Digikam::ApplicationSettings::getImageFileFilter(), Digikam::ApplicationSettings::getMovieFileFilter(), Digikam::ApplicationSettings::getRawFileFilter(), Digikam::CollectionScanner::loadNameFilters(), and Digikam::AlbumModificationHelper::slotAlbumDelete().

◆ getFormatStatistics() [1/2]

QMap< QString, int > Digikam::CoreDB::getFormatStatistics ( ) const

Returns a QMap<QString,int> of ItemInformation.format -> count of items with that format.

References Digikam::DatabaseItem::UndefinedCategory.

◆ getFormatStatistics() [2/2]

QMap< QString, int > Digikam::CoreDB::getFormatStatistics ( DatabaseItem::Category  category) const

◆ getIdenticalFiles() [1/2]

◆ getIdenticalFiles() [2/2]

QList< ItemScanInfo > Digikam::CoreDB::getIdenticalFiles ( qlonglong  id) const

Find items that are, with reasonable certainty, identical to the file pointed to by id. Criteria: Unique Hash, file size and album non-null. The first variant will not return an ItemScanInfo for id. The second allows to pass one id as source id for exclusion from the list. If this is -1, no id is excluded.

Referenced by Digikam::ItemInfo::fromUniqueHash(), Digikam::ItemScanner::resolveHistoryImageId(), and Digikam::ItemScanner::scanFromIdenticalFile().

◆ getIgnoreDirectoryFilterSettings()

void Digikam::CoreDB::getIgnoreDirectoryFilterSettings ( QStringList *  ignoreDirectoryFilter)

◆ getImageId()

qlonglong Digikam::CoreDB::getImageId ( int  albumID,
const QString &  name 
) const

Get the imageId of the item

Parameters
albumIDthe albumID of the item
namethe name of the item
Returns
the ImageId for the item, or -1 if it does not exist

Referenced by addItemTag(), copyItem(), deleteItem(), moveItem(), Digikam::CollectionScanner::scanFile(), and Digikam::CollectionScanner::scanNewFile().

◆ getImageIds() [1/3]

QList< qlonglong > Digikam::CoreDB::getImageIds ( DatabaseItem::Status  status) const

Returns all image ids with the given status.

Parameters
statusThe status.
Returns
The ids of the images that have the given status.

◆ getImageIds() [2/3]

QList< qlonglong > Digikam::CoreDB::getImageIds ( DatabaseItem::Status  status,
DatabaseItem::Category  category 
) const

Returns all image ids with the given status and category.

Parameters
statusThe status.
categoryThe category.
Returns
The ids of the images that have the given status.

◆ getImageIds() [3/3]

QList< qlonglong > Digikam::CoreDB::getImageIds ( int  albumID,
const QString &  name,
DatabaseItem::Status  status 
) const

Get the imageId fitting to the information given for the item

Parameters
albumIDthe albumID of the item (-1 means NULL)
namethe name of the item
statusthe status of the item
Returns
the ImageIds for the item, or an empty list if there are no matching entries.

Referenced by Digikam::CollectionScanner::completeScanCleanupPart().

◆ getImageIdsFromArea()

QList< QVariant > Digikam::CoreDB::getImageIdsFromArea ( qreal  lat1,
qreal  lat2,
qreal  lng1,
qreal  lng2,
int  sortMode,
const QString &  sortBy 
) const

Referenced by Digikam::GPSJob::run().

◆ getImageMetadata()

QVariantList Digikam::CoreDB::getImageMetadata ( qlonglong  imageID,
DatabaseFields::ImageMetadata  metadataFields = DatabaseFields::ImageMetadataAll 
) const

Read image metadata. Parameters as above.

References imageMetadataFieldList(), and Digikam::DatabaseFields::ImageMetadataNone.

Referenced by Digikam::ItemInfo::getDatabaseFieldsRaw().

◆ getImageProperty()

QString Digikam::CoreDB::getImageProperty ( qlonglong  imageID,
const QString &  property 
) const

Returns the property with the specified name for the specified image

Referenced by Digikam::ItemExtendedProperties::readFakeListProperty(), and Digikam::ItemExtendedProperties::readProperty().

◆ getImagesFields()

QVariantList Digikam::CoreDB::getImagesFields ( qlonglong  imageID,
DatabaseFields::Images  imagesFields 
) const

Returns the requested fields from the Images table. Choose the fields with the mask. The fields will be returned in the following order and type: 0) Int Album 1) String Name 2) Int Status 3) Int Category 4) DateTime ModificationDate 5) int FileSize 6) String uniqueHash

References imagesFieldList(), Digikam::DatabaseFields::ImagesNone, and Digikam::DatabaseFields::ModificationDate.

Referenced by Digikam::ItemInfo::category(), Digikam::ItemInfo::fileSize(), Digikam::ItemScanner::fillCommonContainer(), Digikam::ItemInfo::isRemoved(), Digikam::ItemInfo::isVisible(), Digikam::ItemInfo::manualOrder(), Digikam::ItemInfo::modDateTime(), and Digikam::ItemInfo::uniqueHash().

◆ getImagesRelatedFrom() [1/2]

QVector< QList< qlonglong > > Digikam::CoreDB::getImagesRelatedFrom ( const QList< qlonglong > &  subjectIds,
DatabaseRelation::Type  type = DatabaseRelation::UndefinedType 
) const

References getRelatedImages().

◆ getImagesRelatedFrom() [2/2]

QList< qlonglong > Digikam::CoreDB::getImagesRelatedFrom ( qlonglong  subjectId,
DatabaseRelation::Type  type = DatabaseRelation::UndefinedType 
) const

Retrieves all images that the given image is related to (retrieves objects, given image is subject) If type is given, filters by type, otherwise returns all types. "Get images related to from this"

References getRelatedImages().

Referenced by Digikam::ItemInfo::groupImageId(), Digikam::ItemInfoList::loadGroupImageIds(), and removeAllImageRelationsFrom().

◆ getImagesRelatingTo() [1/2]

QVector< QList< qlonglong > > Digikam::CoreDB::getImagesRelatingTo ( const QList< qlonglong > &  objectIds,
DatabaseRelation::Type  type = DatabaseRelation::UndefinedType 
) const

References getRelatedImages().

◆ getImagesRelatingTo() [2/2]

QList< qlonglong > Digikam::CoreDB::getImagesRelatingTo ( qlonglong  objectId,
DatabaseRelation::Type  type = DatabaseRelation::UndefinedType 
) const

Retrieves all images that relate to the given image (retrieves subject, given image is object) If type is given, filters by type, otherwise returns all types. "Get images this image is relating to"

References getRelatedImages().

Referenced by Digikam::ItemInfo::addToGroup(), and removeAllImageRelationsTo().

◆ getImagesWithImageTagProperty()

QList< qlonglong > Digikam::CoreDB::getImagesWithImageTagProperty ( int  tagId,
const QString &  property 
) const

Returns all image ids that are associated to the tag with the given property.

Referenced by Digikam::TagModificationHelper::slotMultipleFaceTagDel().

◆ getImagesWithProperty()

QList< qlonglong > Digikam::CoreDB::getImagesWithProperty ( const QString &  property) const

Returns all image ids that are associated to the given property.

◆ getImageTagProperties()

QList< ImageTagProperty > Digikam::CoreDB::getImageTagProperties ( qlonglong  imageId,
int  tagId = -1 
) const

Get the properties for the given image/tag pair. If the tagID is -1, returns the ImageTagProperties for all tagIds of the given image.

References Digikam::ImageTagProperty::imageId.

Referenced by clearMetadataFromImage().

◆ getImageUuid()

QString Digikam::CoreDB::getImageUuid ( qlonglong  imageId) const

◆ getItemAlbum()

int Digikam::CoreDB::getItemAlbum ( qlonglong  imageID) const

Find the album of an item

Parameters
imageIDThe ID of the item
Returns
The ID of the PAlbum of the item, or -1 if not found

◆ getItemComments()

QList< CommentInfo > Digikam::CoreDB::getItemComments ( qlonglong  imageID) const

◆ getItemCommonTagIDs()

QList< int > Digikam::CoreDB::getItemCommonTagIDs ( const QList< qlonglong > &  imageIDList) const

Given a set of items (identified by their IDs), get a list of ID of all common tags

Parameters
imageIDLista list of IDs of the items
Returns
the list of common IDs of the given items

Referenced by Digikam::ContextMenuHelper::addRemoveTagsMenu().

◆ getItemCopyright()

QList< CopyrightInfo > Digikam::CoreDB::getItemCopyright ( qlonglong  imageID,
const QString &  property = QString() 
) const

Returns the copyright properties of the specified image. If property is not null, only the given property is returned.

References Digikam::CopyrightInfo::extraValue, Digikam::CopyrightInfo::id, Digikam::CopyrightInfo::property, and Digikam::CopyrightInfo::value.

Referenced by Digikam::ItemCopyright::copyrightInfo(), Digikam::ItemCopyright::copyrightInfos(), and Digikam::ItemCopyright::replaceFrom().

◆ getItemFromAlbum()

qlonglong Digikam::CoreDB::getItemFromAlbum ( int  albumID,
const QString &  fileName 
) const

Returns the id of the item with the given filename in the album with the given id.

Parameters
albumIdThe albumId in which we search the item.
fileNameThe name of the item file.
Returns
The item id or -1 if not existent.

Referenced by Digikam::AlbumManager::getItemFromAlbum().

◆ getItemHistory()

ImageHistoryEntry Digikam::CoreDB::getItemHistory ( qlonglong  imageId) const

◆ getItemIDsAndURLsInAlbum()

QMap< qlonglong, QString > Digikam::CoreDB::getItemIDsAndURLsInAlbum ( int  albumID) const

Given a albumID, get a map of Ids and urls of all items in the album NOTE: Uses the CollectionManager

Parameters
albumIDthe id of the album
Returns
a map of Ids and urls for the items in the album. The urls are the absolute path of the items

References Digikam::CollectionManager::albumRootPath(), getAlbumRootId(), and Digikam::CollectionManager::instance().

◆ getItemIDsInAlbum()

QList< qlonglong > Digikam::CoreDB::getItemIDsInAlbum ( int  albumID) const

Given a albumID, get a list of Ids of all items in the album

Parameters
albumIDthe id of the album
Returns
a list of Ids for the items in the album.

Referenced by Digikam::ImageWindow::dropEvent(), Digikam::HaarIface::imagesFromAlbumsAndTags(), and Digikam::CollectionScanner::safelyRemoveAlbums().

◆ getItemIDsInTag()

QList< qlonglong > Digikam::CoreDB::getItemIDsInTag ( int  tagID,
bool  recursive = false 
) const

Given a tagID, get a list of Ids of all items in the tag

Parameters
tagIDthe id of the tag
recursiveperform a recursive folder hierarchy parsing
Returns
a list of Ids for the items in the tag.

Referenced by Digikam::CollectionScanner::completeHistoryScanning(), Digikam::AlbumManager::deleteTAlbum(), Digikam::ImageWindow::dropEvent(), Digikam::HaarIface::imagesFromAlbumsAndTags(), Digikam::AlbumManager::mergeTAlbum(), Digikam::TagModificationHelper::slotMultipleTagDel(), and Digikam::TagModificationHelper::slotTagDelete().

◆ getItemInformation()

◆ getItemName()

QString Digikam::CoreDB::getItemName ( qlonglong  imageID) const

Retrieve the name of the item

Parameters
imageIDThe ID of the item
Returns
The name of the item, or a null string if not found

◆ getItemNamesInAlbum()

QStringList Digikam::CoreDB::getItemNamesInAlbum ( int  albumID,
bool  recursive = false 
) const

Returns all items for a given albumid. This is used to verify if all items on disk are consistent with the database in the CollectionScanner class.

Parameters
albumIDThe albumID for which you want all items.
recursiveperform a recursive folder hierarchy parsing
Returns
It returns a QStringList with the filenames.

References getAlbumRelativePath(), and getAlbumRootId().

◆ getItemPosition()

◆ getItemPositions()

◆ getItemScanInfo()

◆ getItemScanInfos()

◆ getItemsForUuid()

QList< qlonglong > Digikam::CoreDB::getItemsForUuid ( const QString &  uuid) const

Retrieves the images with the given UUID

Referenced by Digikam::ItemScanner::resolveHistoryImageId().

◆ getItemShortInfo() [1/2]

ItemShortInfo Digikam::CoreDB::getItemShortInfo ( int  albumRootId,
const QString &  relativePath,
const QString &  name 
) const

◆ getItemShortInfo() [2/2]

◆ getItemsTagIDs()

QVector< QList< int > > Digikam::CoreDB::getItemsTagIDs ( const QList< qlonglong > &  imageIds) const

For a list of items, return the tag ids associated with the item. Amounts to calling getItemTagIDs for each id in imageIds, but is optimized.

Referenced by Digikam::ItemInfoList::loadTagIds().

◆ getItemsURLsWithTag()

◆ getItemTagIDs()

QList< int > Digikam::CoreDB::getItemTagIDs ( qlonglong  imageID) const

Get a list of IDs of all the tags for the item

Parameters
imageIDthe ID of the item
Returns
the list of IDs of all tags for the item

Referenced by clearMetadataFromImage(), Digikam::ItemScanner::commitTags(), and Digikam::ItemInfo::tagIds().

◆ getItemTagNames()

QStringList Digikam::CoreDB::getItemTagNames ( qlonglong  imageID) const

Get a list of names of all the tags for the item

Parameters
imageIDthe ID of the item
Returns
the list of names of all tags for the item

◆ getItemURLsInAlbum()

QStringList Digikam::CoreDB::getItemURLsInAlbum ( int  albumID,
ItemSortOrder  order = NoItemSorting 
) const

Given a albumID, get a list of the url of all items in the album NOTE: Uses the CollectionManager

Parameters
albumIDthe id of the album
orderorder for the returned items to use
Returns
a list of urls for the items in the album. The urls are the absolute path of the items

References Digikam::CollectionManager::albumRootPath(), ByItemDate, ByItemName, ByItemPath, ByItemRating, getAlbumRootId(), Digikam::CollectionManager::instance(), and NoItemSorting.

◆ getItemURLsInTag()

QStringList Digikam::CoreDB::getItemURLsInTag ( int  tagID,
bool  recursive = false 
) const

Given a tagid, get a list of the url of all items in the tag NOTE: Uses the CollectionManager

Parameters
tagIDthe id of the tag
recursiveperform a recursive folder hierarchy parsing
Returns
a list of urls for the items in the tag. The urls are the absolute path of the items

References Digikam::CollectionManager::albumRootPath(), and Digikam::CollectionManager::instance().

◆ getListFromImageMetadata()

QStringList Digikam::CoreDB::getListFromImageMetadata ( DatabaseFields::ImageMetadata  field) const

Return a list from a field from imageMetadata

References imageMetadataFieldList().

Referenced by Digikam::SearchField::createField().

◆ getNumberOfAllItemsAndAlbums()

QPair< int, int > Digikam::CoreDB::getNumberOfAllItemsAndAlbums ( int  albumID) const

Returns the QPair<int, int> of all items (first) and albums (second) as a counter in the album.

Parameters
albumIDthe id of the album

References getAlbumRelativePath(), and getAlbumRootId().

◆ getNumberOfImagesInAlbums()

QMap< int, int > Digikam::CoreDB::getNumberOfImagesInAlbums ( ) const

Returns a QMap<int, int> of album id -> count of items in the album

Referenced by Digikam::AlbumsJob::run().

◆ getNumberOfImagesInTagProperties() [1/2]

QMap< int, int > Digikam::CoreDB::getNumberOfImagesInTagProperties ( const QString &  property) const

Returns a QMap<int,int> of tag id -> count of items with the given tag property

Referenced by Digikam::FaceUtils::removeNormalTag(), Digikam::TagsJob::run(), and Digikam::ItemIconView::slotRemoveTag().

◆ getNumberOfImagesInTagProperties() [2/2]

int Digikam::CoreDB::getNumberOfImagesInTagProperties ( int  tagId,
const QString &  property 
) const

Returns the count of images that have a tag property for the given tag.

◆ getNumberOfImagesInTags()

QMap< int, int > Digikam::CoreDB::getNumberOfImagesInTags ( ) const

Returns a QMap<int,int> of tag id -> count of items with the tag

Referenced by Digikam::TagsJob::run().

◆ getNumberOfItemsInAlbum()

int Digikam::CoreDB::getNumberOfItemsInAlbum ( int  albumID) const

Returns the number of items in the album.

Parameters
albumIDthe id of the album

Referenced by Digikam::CollectionScanner::scanAlbumRoot().

◆ getObsoleteItemIds()

QList< qlonglong > Digikam::CoreDB::getObsoleteItemIds ( ) const

Get obsolete item Ids.

References Digikam::DatabaseItem::Obsolete.

Referenced by Digikam::DatabaseTask::run().

◆ getOneRelatedImageEach()

QList< qlonglong > Digikam::CoreDB::getOneRelatedImageEach ( const QList< qlonglong > &  ids,
DatabaseRelation::Type  type = DatabaseRelation::UndefinedType 
) const

For each of the given ids, find one single related image (direction does not matter). Ids are unique in the returned list, and do not correspond by index to the given list.

References Digikam::DatabaseRelation::UndefinedType.

Referenced by Digikam::CollectionScanner::itemsWereRemoved().

◆ getRecentlyAssignedTags()

QList< int > Digikam::CoreDB::getRecentlyAssignedTags ( ) const

Get a list of recently assigned tags (only last 6 tags are listed)

Returns
the list of recently assigned tags

Referenced by Digikam::TaggingActionFactory::actions(), and Digikam::AlbumManager::getRecentlyAssignedTags().

◆ getRelatedImages() [1/2]

QVector< QList< qlonglong > > Digikam::CoreDB::getRelatedImages ( QList< qlonglong >  ids,
bool  fromOrTo,
DatabaseRelation::Type  type,
bool  boolean 
) const
protected

◆ getRelatedImages() [2/2]

QList< qlonglong > Digikam::CoreDB::getRelatedImages ( qlonglong  id,
bool  fromOrTo,
DatabaseRelation::Type  type,
bool  boolean 
) const
protected

◆ getRelatedImagesToByType()

QList< qlonglong > Digikam::CoreDB::getRelatedImagesToByType ( DatabaseRelation::Type  type) const

Retrieves all images that related to (retrieves objects) by given type.

Referenced by Digikam::ItemInfoCache::getImageGroupedCount().

◆ getRelationCloud()

QList< QPair< qlonglong, qlonglong > > Digikam::CoreDB::getRelationCloud ( qlonglong  imageId,
DatabaseRelation::Type  type = DatabaseRelation::UndefinedType 
) const

For the given image id, retrieves all relations of all related images: Each pair (a,b) means "a is related to b". Each a and b in the list will have a direct or indirect relation to the initial imageId. If type is given, filters by type, otherwise returns all types.

References Digikam::DatabaseRelation::UndefinedType.

Referenced by Digikam::ItemInfo::relationCloud().

◆ getSearchInfo()

SearchInfo Digikam::CoreDB::getSearchInfo ( int  searchId) const

Get information about the specified search

References Digikam::SearchInfo::id, Digikam::SearchInfo::name, Digikam::SearchInfo::query, and Digikam::SearchInfo::type.

◆ getSearchQuery()

QString Digikam::CoreDB::getSearchQuery ( int  searchId) const

Get the query for the search specified by its id

◆ getSetting()

QString Digikam::CoreDB::getSetting ( const QString &  keyword) const

This function returns the value which is stored in the database (table Settings).

Parameters
keywordThe keyword for which the value has to be returned.
Returns
The values which belongs to the keyword, or a null string if no value is set.

Referenced by Digikam::CollectionScanner::checkDeleteRemoved(), Digikam::CollectionScanner::databaseInitialScanDone(), databaseUuid(), Digikam::DBStatDlg::DBStatDlg(), getFilterSettings(), getIgnoreDirectoryFilterSettings(), getUniqueHashVersion(), getUserFilterSettings(), getUserIgnoreDirectoryFilterSettings(), Digikam::CollectionScanner::incrementDeleteRemovedCompleteScanCount(), and Digikam::AlbumManager::setDatabase().

◆ getTagIdsWithProperties()

QList< int > Digikam::CoreDB::getTagIdsWithProperties ( qlonglong  imageId) const

Get all tagIds for which ImageTagProperties exist for the given image.

Referenced by Digikam::ItemTagPair::availablePairs().

◆ getTagInfo()

◆ getTagProperties() [1/3]

QList< TagProperty > Digikam::CoreDB::getTagProperties ( ) const

Returns the list of all tag properties (ordered by tag id, then property).

References Digikam::TagProperty::tagId.

Referenced by Digikam::DatabaseTask::run(), and Digikam::TagProperties::TagProperties().

◆ getTagProperties() [2/3]

QList< TagProperty > Digikam::CoreDB::getTagProperties ( const QString &  property) const

Returns the list of tag properties with the given attribute.

References Digikam::TagProperty::property, Digikam::TagProperty::tagId, and Digikam::TagProperty::value.

◆ getTagProperties() [3/3]

QList< TagProperty > Digikam::CoreDB::getTagProperties ( int  tagID) const

Returns the list of tag properties of the given tag.

References Digikam::TagProperty::tagId.

◆ getTagShortInfos()

QList< TagShortInfo > Digikam::CoreDB::getTagShortInfos ( ) const

Returns all tags in the database with their parent id and name, ordered by id.

References Digikam::TagShortInfo::id, Digikam::TagShortInfo::name, and Digikam::TagShortInfo::pid.

◆ getTagsWithProperty()

QList< int > Digikam::CoreDB::getTagsWithProperty ( const QString &  property) const

Returns a list of tag ids with the specified property. FIXME: Not tested, might not work at all.

◆ getUniqueHashVersion()

int Digikam::CoreDB::getUniqueHashVersion ( ) const

Returns the version used for the unique hash in this database. The value is cached.

References getSetting().

Referenced by isUniqueHashV2().

◆ getUserFilterSettings()

void Digikam::CoreDB::getUserFilterSettings ( QString *  imageFilterString,
QString *  videoFilterString,
QString *  audioFilterString 
)

Returns the user-configurable filter settings. If you are not interested in a specific value, pass 0.

References getSetting().

Referenced by Digikam::SetupMime::applySettings(), and Digikam::SetupMime::readSettings().

◆ getUserIgnoreDirectoryFilterSettings()

void Digikam::CoreDB::getUserIgnoreDirectoryFilterSettings ( QString *  ignoreDirectoryFilterString)

◆ getVideoMetadata()

QVariantList Digikam::CoreDB::getVideoMetadata ( qlonglong  imageID,
DatabaseFields::VideoMetadata  metadataFields = DatabaseFields::VideoMetadataAll 
) const

◆ hasImageHistory()

bool Digikam::CoreDB::hasImageHistory ( qlonglong  imageId) const

Returns true if the image has a history stored in DB If not, it returns false

Referenced by Digikam::ItemInfo::hasImageHistory().

◆ hasImagesRelatedFrom()

bool Digikam::CoreDB::hasImagesRelatedFrom ( qlonglong  subjectId,
DatabaseRelation::Type  type = DatabaseRelation::UndefinedType 
) const

◆ hasImagesRelatingTo()

bool Digikam::CoreDB::hasImagesRelatingTo ( qlonglong  objectId,
DatabaseRelation::Type  type = DatabaseRelation::UndefinedType 
) const

◆ hasTags()

bool Digikam::CoreDB::hasTags ( const QList< qlonglong > &  imageIDList) const

Given a set of items (identified by their IDs), this will see if any of the items has a tag.

Parameters
imageIDLista list of IDs of the items
Returns
true if at least one of the items has a tag

◆ imageCommentsFieldList()

QStringList Digikam::CoreDB::imageCommentsFieldList ( DatabaseFields::ItemComments  fields)
static

◆ imageInformationFieldList()

◆ imageMetadataFieldList()

◆ imagePositionsFieldList()

◆ imagesFieldList()

◆ integrityCheck()

bool Digikam::CoreDB::integrityCheck ( ) const

Returns true if the integrity of the database is preserved.

◆ isUniqueHashV2()

bool Digikam::CoreDB::isUniqueHashV2 ( ) const

◆ makeStaleAlbum()

void Digikam::CoreDB::makeStaleAlbum ( int  albumID)

Makes the album a stale entry by setting the albumRoot to 0. Emits the same changeset as deleteAlbum()

References Digikam::AlbumChangeset::Deleted, and Digikam::BdEngineBackend::NoErrors.

Referenced by Digikam::CollectionScanner::safelyRemoveAlbums().

◆ migrateAlbumRoot()

void Digikam::CoreDB::migrateAlbumRoot ( int  rootId,
const QString &  identifier 
)

Migrates a given album root to a new disk location. This only changes the values in the AlbumRoots table. It is expected that this merely reflects underlying partition changes, still pointing to the same data.

References Digikam::AlbumRootChangeset::PropertiesChanged.

Referenced by Digikam::CollectionManager::refreshLocation().

◆ moveItem()

void Digikam::CoreDB::moveItem ( int  srcAlbumID,
const QString &  srcName,
int  dstAlbumID,
const QString &  dstName 
)

Move the attributes of an item to a different item. Useful when say a file is renamed

Parameters
srcAlbumIDthe id of the source album
dstAlbumIDthe id of the destination album
srcNamethe name of the source file
dstNamethe name of the destination file

References Digikam::CollectionImageChangeset::Added, Digikam::DatabaseFields::Album, deleteItem(), getImageId(), Digikam::CollectionImageChangeset::Moved, and Digikam::CollectionImageChangeset::Removed.

◆ removeAllImageRelationsFrom()

QList< qlonglong > Digikam::CoreDB::removeAllImageRelationsFrom ( qlonglong  subjectId,
DatabaseRelation::Type  type 
) const

◆ removeAllImageRelationsTo()

QList< qlonglong > Digikam::CoreDB::removeAllImageRelationsTo ( qlonglong  objectId,
DatabaseRelation::Type  type 
) const

◆ removeImageComment()

void Digikam::CoreDB::removeImageComment ( int  commentId,
qlonglong  imageid 
)

Remove the specified entry in ItemComments

References Digikam::DatabaseFields::ItemCommentsAll.

Referenced by Digikam::ItemComments::apply().

◆ removeImageProperty()

void Digikam::CoreDB::removeImageProperty ( qlonglong  imageID,
const QString &  property 
)

◆ removeImagePropertyByName()

void Digikam::CoreDB::removeImagePropertyByName ( const QString &  property)

◆ removeImageRelation() [1/2]

void Digikam::CoreDB::removeImageRelation ( const ImageRelation relation)

◆ removeImageRelation() [2/2]

void Digikam::CoreDB::removeImageRelation ( qlonglong  subjectId,
qlonglong  objectId,
DatabaseRelation::Type  type 
)

Removes image relations. The batch methods return all removed partners.

References Digikam::DatabaseFields::ImageRelations.

Referenced by removeImageRelation().

◆ removeImageTagProperties()

void Digikam::CoreDB::removeImageTagProperties ( qlonglong  imageId,
int  tagId = -1,
const QString &  property = QString(),
const QString &  value = QString() 
)

Removes properties for the given tag. If the value is given, removes only the entries with the given property/value pair. If only property is given, removes all properties with the given name. If property is null, removes all properties for the given tag. If tagId is -1, removes all image tag properties for the given image. Note: After the first parameter you give as a wildcard, the following will be ignored and taken as wildcard as well.

References Digikam::ImageTagChangeset::PropertiesChanged, and value.

Referenced by Digikam::ItemTagPair::clearProperties(), Digikam::ItemTagPair::removeProperties(), Digikam::ItemTagPair::removeProperty(), and Digikam::ItemInfo::removeTag().

◆ removeItemAllTags()

void Digikam::CoreDB::removeItemAllTags ( qlonglong  imageID,
const QList< int > &  currentTagIds 
)

Remove all tags for the item

Parameters
imageIDthe ID of the item
currentTagIdsthe current tags ids assigned to the item

References Digikam::ImageTagChangeset::RemovedAll.

Referenced by Digikam::ItemInfo::removeAllTags().

◆ removeItemCopyrightProperties()

void Digikam::CoreDB::removeItemCopyrightProperties ( qlonglong  imageID,
const QString &  property = QString(),
const QString &  extraValue = QString(),
const QString &  value = QString() 
)

Removes copyright properties for the given image id. All values after the first null value, in order of parameters, are treated as wild cards (you can give value as wildcard; value and extraValue; or property, extraValue and value). Note that extraValue is ordered before value in this method!

References value.

Referenced by Digikam::ItemCopyright::removeLanguageProperty(), Digikam::ItemCopyright::removeProperties(), and Digikam::ItemCopyright::replaceFrom().

◆ removeItemPosition()

void Digikam::CoreDB::removeItemPosition ( qlonglong  imageid)

Remove the entry in ItemPositions for the given image

References Digikam::DatabaseFields::ItemPositionsAll.

Referenced by Digikam::ItemPosition::remove().

◆ removeItemPositionAltitude()

void Digikam::CoreDB::removeItemPositionAltitude ( qlonglong  imageid)

Remove the altitude in ItemPositions for the given image

References Digikam::DatabaseFields::Altitude.

Referenced by Digikam::ItemPosition::removeAltitude().

◆ removeItems()

void Digikam::CoreDB::removeItems ( QList< qlonglong >  itemIDs,
const QList< int > &  albumIDs = QList<int>() 
)

Marks all items in the list as removed, resets their dirids. The items can later be removed by deleteRemovedItems().

Parameters
itemIDsa list of item IDs to be marked
albumIDsthis parameter is purely informational. it shall contain the albums that the items are removed from.

References Digikam::CollectionImageChangeset::Removed, and Digikam::DatabaseItem::Trashed.

Referenced by Digikam::CollectionScanner::scanAlbum().

◆ removeItemsFromAlbum()

void Digikam::CoreDB::removeItemsFromAlbum ( int  albumID,
const QList< qlonglong > &  ids_forInformation = QList<qlonglong>() 
)

Marks all items in the specified album as removed, resets their dirids. The album can be deleted afterwards without removing the entries for the items, which can later be removed by deleteRemovedItems().

Parameters
albumIDThe id of the album
idsFully optional: The image ids in the album, if you know them anyway. This parameter is only used for distributing the change notification.

References Digikam::CollectionImageChangeset::RemovedAll, and Digikam::DatabaseItem::Trashed.

Referenced by Digikam::CollectionScanner::safelyRemoveAlbums().

◆ removeItemsPermanently()

void Digikam::CoreDB::removeItemsPermanently ( QList< qlonglong >  itemIDs,
const QList< int > &  albumIDs = QList<int>() 
)

Marks all items in the list as obsolete, resets their dirids. The items can later be removed by deleteRemovedItems().

Parameters
itemIDsa list of item IDs to be marked
albumIDsthis parameter is purely informational. it shall contain the albums that the items are removed from.

References Digikam::DatabaseItem::Obsolete, and Digikam::CollectionImageChangeset::Removed.

Referenced by Digikam::EmptyDTrashItemsJob::run().

◆ removeItemTag()

void Digikam::CoreDB::removeItemTag ( qlonglong  imageID,
int  tagID 
)

Remove a specific tag for the item

Parameters
imageIDthe ID of the item
tagIDthe tagID for the tag

References Digikam::ImageTagChangeset::Removed.

Referenced by Digikam::ItemInfo::removeTag().

◆ removeTagProperties()

void Digikam::CoreDB::removeTagProperties ( int  tagId,
const QString &  property = QString(),
const QString &  value = QString() 
)

Removes properties for the given tag. If the value is given, removes only the entries with the given property/value pair. If only property is given, removes all properties with the given name. If property is null, removes all properties for the given tag.

References Digikam::TagChangeset::PropertiesChanged, and value.

Referenced by Digikam::TagProperties::removeProperties(), and Digikam::TagProperties::removeProperty().

◆ removeTagsFromItems()

void Digikam::CoreDB::removeTagsFromItems ( QList< qlonglong >  imageIDs,
const QList< int > &  tagIDs 
)

Remove each tag from a list of tags from a each member of a list of items.

References Digikam::ImageTagChangeset::Removed.

Referenced by Digikam::ItemScanner::commitTags(), Digikam::ItemScanner::resolveImageHistory(), and Digikam::ItemScanner::tagItemHistoryGraph().

◆ renameAlbum()

void Digikam::CoreDB::renameAlbum ( int  albumID,
int  newAlbumRootId,
const QString &  newRelativePath 
)

◆ renameItem()

void Digikam::CoreDB::renameItem ( qlonglong  imageID,
const QString &  newName 
)

Rename the item. Note: we not use here ImageChangeset.

Referenced by Digikam::ItemInfo::setName().

◆ scanAlbums()

AlbumInfo::List Digikam::CoreDB::scanAlbums ( ) const

◆ scanSearches()

SearchInfo::List Digikam::CoreDB::scanSearches ( ) const

Returns all searches from the database

Returns
a list of searches from the database

References Digikam::SearchInfo::id, Digikam::SearchInfo::name, Digikam::SearchInfo::query, and Digikam::SearchInfo::type.

◆ scanTags()

TagInfo::List Digikam::CoreDB::scanTags ( ) const

Returns all tags and their attributes in the database

Returns
a list of tags and their attributes

References Digikam::TagInfo::icon, Digikam::TagInfo::iconId, Digikam::TagInfo::id, Digikam::TagInfo::name, and Digikam::TagInfo::pid.

Referenced by Digikam::DBStatDlg::DBStatDlg().

◆ setAlbumCaption()

void Digikam::CoreDB::setAlbumCaption ( int  albumID,
const QString &  caption 
)

Set a caption for the album.

Parameters
albumIDthe id of the album
captionthe new caption for the album

References Digikam::AlbumChangeset::PropertiesChanged.

Referenced by Digikam::PAlbum::setCaption().

◆ setAlbumCategory()

void Digikam::CoreDB::setAlbumCategory ( int  albumID,
const QString &  category 
)

Set a category for the album.

Parameters
albumIDthe id of the album
categorythe new category for the album

References Digikam::AlbumChangeset::PropertiesChanged.

Referenced by Digikam::PAlbum::setCategory().

◆ setAlbumDate()

void Digikam::CoreDB::setAlbumDate ( int  albumID,
const QDate &  date 
)

Set a date for the album.

Parameters
albumIDthe id of the album
datethe date for the album

References Digikam::AlbumChangeset::PropertiesChanged.

Referenced by Digikam::CollectionScanner::scanAlbum(), and Digikam::PAlbum::setDate().

◆ setAlbumIcon()

void Digikam::CoreDB::setAlbumIcon ( int  albumID,
qlonglong  iconID 
)

Set the icon for the album.

Parameters
albumIDthe id of the album
iconIDthe id of the icon file

References Digikam::AlbumChangeset::PropertiesChanged.

Referenced by Digikam::AlbumManager::updatePAlbumIcon().

◆ setAlbumModificationDate()

void Digikam::CoreDB::setAlbumModificationDate ( int  albumID,
const QDateTime &  modificationDate 
)

Set the modification date time for the album.

Parameters
albumIDthe id of the album
dateTimethe modification date time for the album

Referenced by Digikam::CollectionScanner::scanAlbum().

◆ setAlbumRootLabel()

void Digikam::CoreDB::setAlbumRootLabel ( int  rootId,
const QString &  newLabel 
)

Changes the label of the specified album root

Parameters
rootIdthe id of the album root
newLabelnew label for the album root

References Digikam::AlbumRootChangeset::PropertiesChanged.

Referenced by Digikam::CollectionManager::refreshLocation().

◆ setAlbumRootPath()

void Digikam::CoreDB::setAlbumRootPath ( int  rootId,
const QString &  newPath 
)

Changes the specificPath of the specified album root

Parameters
rootIdthe id of the album root
newPathnew path for the album root

References Digikam::AlbumRootChangeset::PropertiesChanged.

Referenced by Digikam::CollectionManager::refreshLocation().

◆ setFilterSettings()

void Digikam::CoreDB::setFilterSettings ( const QStringList &  imageFilter,
const QStringList &  videoFilter,
const QStringList &  audioFilter 
)

Sets the main filter settings of the database. Should only be called at schema update.

References setSetting().

◆ setIgnoreDirectoryFilterSettings()

void Digikam::CoreDB::setIgnoreDirectoryFilterSettings ( const QStringList &  ignoreDirectoryFilter)

References setSetting().

◆ setImageComment()

int Digikam::CoreDB::setImageComment ( qlonglong  imageID,
const QString &  comment,
DatabaseComment::Type  type,
const QString &  language = QString(),
const QString &  author = QString(),
const QDateTime &  date = QDateTime() 
) const

Sets the comments for the image. A comment for the image with the same source, language and author will be overwritten.

Parameters
imageIDThe imageID of the image
commentThe comment string
typeThe type of the comment
languageInformation about the language of the comment. A null string shall be used if language information is not available from the source, or if the comment is in the default language.
authorOptional information about the author who wrote the comment. If not supported by the source, pass a null string.
dateOptional information about the date when the comment was written If not supported by the source, pass a null string.
Returns
the comment ID of the comment

References Digikam::DatabaseFields::ItemCommentsAll.

Referenced by Digikam::ItemComments::apply().

◆ setImageProperty()

void Digikam::CoreDB::setImageProperty ( qlonglong  imageID,
const QString &  property,
const QString &  value 
)

Sets the property with the given name for the given image to the specified value

References value.

Referenced by Digikam::ItemExtendedProperties::setFakeListProperty(), and Digikam::ItemExtendedProperties::setProperty().

◆ setImageUuid()

void Digikam::CoreDB::setImageUuid ( qlonglong  imageId,
const QString &  uuid 
)

◆ setItemAlbum()

void Digikam::CoreDB::setItemAlbum ( qlonglong  imageID,
qlonglong  albumId 
)

Updates the album field for the item. Note: Do not use this to move the item. This function only has the purpose to reuse image infos for restored images from trash.

References Digikam::CollectionImageChangeset::Added, and Digikam::DatabaseFields::Album.

Referenced by Digikam::ItemScanner::commitAddImage().

◆ setItemCopyrightProperty()

void Digikam::CoreDB::setItemCopyrightProperty ( qlonglong  imageID,
const QString &  property,
const QString &  value,
const QString &  extraValue = QString(),
CopyrightPropertyUnique  uniqueness = PropertyUnique 
)

Sets the property with the given name for the given image to the specified value and extraValue

References PropertyExtraValueUnique, PropertyUnique, and value.

Referenced by Digikam::ItemCopyright::replaceFrom(), Digikam::ItemCopyright::setCreator(), Digikam::ItemCopyright::setLanguageProperty(), and Digikam::ItemCopyright::setSimpleProperty().

◆ setItemHistory()

void Digikam::CoreDB::setItemHistory ( qlonglong  imageId,
const QString &  history 
)

Changes (adds or updates) the image history

References Digikam::DatabaseFields::ImageHistory.

Referenced by Digikam::ItemScanner::commitImageHistory(), and Digikam::ItemInfo::setItemHistory().

◆ setItemManualOrder()

void Digikam::CoreDB::setItemManualOrder ( qlonglong  imageID,
qlonglong  value 
)

Updates the manualOrder field for the item.

References Digikam::DatabaseFields::ManualOrder, and value.

Referenced by Digikam::ItemInfo::setManualOrder().

◆ setItemModificationDate()

void Digikam::CoreDB::setItemModificationDate ( qlonglong  imageID,
const QDateTime &  modificationDate 
)

Updates the modification date field for the item.

References Digikam::DatabaseFields::ModificationDate.

Referenced by Digikam::ItemInfo::setModDateTime().

◆ setItemStatus()

void Digikam::CoreDB::setItemStatus ( qlonglong  imageID,
DatabaseItem::Status  status 
)

Updates the status field for the item. Note: Do not use this to set to the Removed status, see removeItems().

References Digikam::DatabaseFields::Status.

Referenced by Digikam::ItemScanner::commitAddImage(), Digikam::CollectionScanner::completeScanCleanupPart(), and Digikam::ItemInfo::setVisible().

◆ setSetting()

void Digikam::CoreDB::setSetting ( const QString &  keyword,
const QString &  value 
)

◆ setTagIcon()

void Digikam::CoreDB::setTagIcon ( int  tagID,
const QString &  iconKDE,
qlonglong  iconID 
)

Set the icon for the tag.

Parameters
tagIDthe id of the tag
iconKDEthe filename for the kde icon file
iconIDthe id of the icon file Note: Only one of the iconKDE or iconID parameters is used. if the iconKDE parameter is empty, then the iconID parameter is used

References Digikam::TagChangeset::IconChanged.

Referenced by Digikam::AlbumManager::updateTAlbumIcon().

◆ setTagName()

void Digikam::CoreDB::setTagName ( int  tagID,
const QString &  name 
)

Set a new name for the tag.

Parameters
tagIDthe id of the tag
namethe new name for the tag

References Digikam::TagChangeset::Renamed.

Referenced by Digikam::AlbumManager::renameTAlbum().

◆ setTagParentID()

void Digikam::CoreDB::setTagParentID ( int  tagID,
int  newParentTagID 
)

Set the parent tagid for the tag. This is equivalent to reparenting the tag

Parameters
tagIDthe id of the tag
newParentTagIDthe new parentid for the tag

References Digikam::TagChangeset::Reparented.

Referenced by Digikam::AlbumManager::moveTAlbum().

◆ setUniqueHashVersion()

void Digikam::CoreDB::setUniqueHashVersion ( int  version)

◆ setUserFilterSettings()

void Digikam::CoreDB::setUserFilterSettings ( const QStringList &  imageFilter,
const QStringList &  videoFilter,
const QStringList &  audioFilter 
)

Sets the user-configurable filter settings. The lists shall be as specified for getFilterSettings. They may include entries starting with "-", which indicates that this format shall be removed from the list, if it is included in the main settings list.

References setSetting().

Referenced by Digikam::SetupMime::applySettings().

◆ setUserIgnoreDirectoryFilterSettings()

void Digikam::CoreDB::setUserIgnoreDirectoryFilterSettings ( const QStringList &  ignoreDirectoryFilters)

◆ updateItem()

void Digikam::CoreDB::updateItem ( qlonglong  imageID,
DatabaseItem::Category  category,
const QDateTime &  modificationDate,
qlonglong  fileSize,
const QString &  uniqueHash 
)

Update the fields of the Images table that have changed when the file has been modified on disk.

Parameters
imageIDthe image that has been modified

References Digikam::DatabaseFields::Category, Digikam::DatabaseFields::FileSize, Digikam::DatabaseFields::ModificationDate, and Digikam::DatabaseFields::UniqueHash.

Referenced by Digikam::ItemScanner::commitUpdateImage().

◆ updateSearch()

void Digikam::CoreDB::updateSearch ( int  searchID,
DatabaseSearch::Type  type,
const QString &  name,
const QString &  query 
)

Updates Search with new attributes

Parameters
searchIDthe id of the search
typetype of the search
querydatabase query of the search

References Digikam::SearchChangeset::Changed.

Referenced by Digikam::AlbumManager::updateSAlbum().

◆ vacuum()

◆ videoMetadataFieldList()

Friends And Related Function Documentation

◆ Digikam::CoreDbAccess

friend class Digikam::CoreDbAccess
friend

The documentation for this class was generated from the following files: