| digiKam Developer Documentation Professional Photo Management with the Power of Open Source

Loading...
Searching...
No Matches
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Friends | List of all members
Digikam::CoreDB Class Reference

## Public Types
enum | CopyrightPropertyUnique { PropertyUnique , PropertyExtraValueUnique , PropertyNoConstraint }
enum | ItemSortOrder { NoItemSorting , ByItemName , ByItemPath , ByItemDate , ByItemRating }

## Public Member Functions
| CoreDB (CoreDbBackend *const backend)
| Constructor.
| ~CoreDB ()
| Destructor.
int | 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.
int | addAlbumRoot (CollectionLocation::Type type, const QString &identifier, const QString &specificPath, const QString &label) const
| Add a new album to the database with the given attributes.
void | addImageMetadata (qlonglong imageID, const QVariantList &infos, DatabaseFields::ImageMetadata fields=DatabaseFields::ImageMetadataAll)
| Add (or replace) the ImageMetadata of the specified item.
void | addImageRelation (const ImageRelation &relation)
void | addImageRelation (qlonglong subjectId, qlonglong objectId, DatabaseRelation::Type type)
| Adds an image relation entry.
void | 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].
void | addImageTagProperty (const ImageTagProperty &property)
void | addImageTagProperty (qlonglong imageId, int tagId, const QString &property, const QString &value)
| Adds a tag property.
qlonglong | 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.
void | addItemInformation (qlonglong imageID, const QVariantList &infos, DatabaseFields::ItemInformation fields=DatabaseFields::ItemInformationAll)
| Add (or replace) the ItemInformation of the specified item.
void | addItemPosition (qlonglong imageID, const QVariantList &infos, DatabaseFields::ItemPositions fields=DatabaseFields::ItemPositionsAll)
| Add (or replace) the ItemPosition of the specified item.
void | addItemTag (int albumID, const QString &name, int tagID)
| Add a tag for the item.
void | addItemTag (qlonglong imageID, int tagID, bool newTag=false)
| Add a tag for the item.
int | addSearch (DatabaseSearch::Type type, const QString &name, const QString &query) const
| Add a new search to the database with the given attributes.
int | 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.
void | addTagProperty (const TagProperty &property)
void | addTagProperty (int tagId, const QString &property, const QString &value)
| Adds a tag property.
void | addTagsToItems (const QList< qlonglong > &imageIDs, const QList< int > &tagIDs)
| Add each tag of a list of tags to each member of a list of items.
int | addToDownloadHistory (const QString &identifier, const QString &name, qlonglong fileSize, const QDateTime &date) const
| Add the specified fingerprint to the download history table.
void | addVideoMetadata (qlonglong imageID, const QVariantList &infos, DatabaseFields::VideoMetadata fields=DatabaseFields::VideoMetadataAll)
| Add (or replace) the VideoMetadata of the specified item.
void | changeImageComment (int commentId, qlonglong imageID, const QVariantList &infos, DatabaseFields::ItemComments fields=DatabaseFields::ItemCommentsAll)
| Changes the properties of a comment.
void | changeImageMetadata (qlonglong imageID, const QVariantList &infos, DatabaseFields::ImageMetadata fields=DatabaseFields::ImageMetadataAll)
| Change the indicated fields of the image information for the specified item.
void | changeItemInformation (qlonglong imageID, const QVariantList &infos, DatabaseFields::ItemInformation fields=DatabaseFields::ItemInformationAll)
| Change the indicated fields of the image information for the specified item.
void | changeItemPosition (qlonglong imageID, const QVariantList &infos, DatabaseFields::ItemPositions fields=DatabaseFields::ItemPositionsAll)
| Change the indicated fields of the image information for the specified item.
void | changeVideoMetadata (qlonglong imageID, const QVariantList &infos, DatabaseFields::VideoMetadata fields=DatabaseFields::VideoMetadataAll)
| Change the indicated fields of the video information for the specified item.
bool | copyAlbumProperties (int srcAlbumID, int dstAlbumID) const
| Copy the properties of the given srcAlbum to the dstAlbum.
void | copyImageAttributes (qlonglong srcId, qlonglong destId)
| Copies all image-specific information, in all tables, from image srcId to destId.
void | copyImageProperties (qlonglong srcId, qlonglong dstId)
| Copies all entries in the ImageProperties table.
void | copyImageTags (qlonglong srcId, qlonglong dstId)
| Copies all entries in the ImageTags table.
qlonglong | copyItem (int srcAlbumID, const QString &srcName, int dstAlbumID, const QString &dstName)
| Copy the attributes of an item to a different item.
QUuid | databaseUuid ()
| Returns a UUID for the database file.
void | deleteAlbum (int albumID)
| Deletes an album from the database.
void | deleteAlbumRoot (int rootId)
| Deletes an album root from the database.
void | deleteItem (int albumID, const QString &file)
| Deletes an item from the database.
void | deleteItem (qlonglong imageId)
| Deletes an item from the database if it does not belong to an album.
void | deleteObsoleteItem (qlonglong imageId)
| Deletes an item from the database without checking the album.
void | deleteRemovedItems ()
| Delete all items from the database that are marked as removed.
void | deleteSearch (int searchID)
| Delete a search from the database.
void | deleteSearches (DatabaseSearch::Type type)
| Delete all search with the given type.
void | deleteStaleAlbums ()
| Deletes albums from the database that were previously removed with makeStaleAlbum()
void | deleteTag (int tagID)
| Deletes a tag from the database.
QList< qlonglong > | findByNameAndCreationDate (const QString &fileName, const QDateTime &creationDate) const
| Returns all items with the given file name and creation date.
qlonglong | 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.
int | findInDownloadHistory (const QString &identifier, const QString &name, qlonglong fileSize, const QDateTime &date) const
| Search for the specified fingerprint in the download history table.
QList< int > | getAlbumAndSubalbumsForPath (int albumRootId, const QString &relativePath) const
| Find out the album ids for a given relative path, including the subalbums.
QDate | getAlbumAverageDate (int albumID) const
| Returns the average date of all images for that album.
int | getAlbumForPath (int albumRootId, const QString &relativePath, bool create=true) const
| Find out the album for a given folder.
QDate | getAlbumHighestDate (int albumID) const
| Returns the highest/newest date of all images for that album.
QDate | getAlbumLowestDate (int albumID) const
| Returns the lowest/oldest date of all images for that album.
QDateTime | getAlbumModificationDate (int albumID) const
| Returns the QDateTime of the album modification date.
QMap< QString, QDateTime > | getAlbumModificationMap (int albumRootId) const
| Returns a QMap with relative path and the album modification date.
QString | 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)
int | getAlbumRootId (int albumID) const
| Given an albumid, this returns the album root id for that album.
QList< AlbumRootInfo > | getAlbumRoots () const
| Returns all albums and their attributes in the database.
QList< AlbumShortInfo > | getAlbumShortInfos () const
| Returns all albums in the database with their albumRoot and ID, ordered by id.
QList< int > | getAlbumsOnAlbumRoot (int albumRootId) const
| Find out all album ids of a given album root.
QHash< QDateTime, int > | getAllCreationDates () const
| Returns a QHash of creationDate of all items and count of dates.
QStringList | getAllImagePropertiesByName (const QString &property) const
QList< qlonglong > | getAllItems () const
| Returns all ids of items in images table.
QHash< qlonglong, QPair< int, int > > | getAllItemsWithAlbum () const
| Returns all ids of items with album ids in images table.
QString | getDatabaseEncoding () const
| Returns database encoding.
QStringList | 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.
void | getFilterSettings (QStringList *imageFilter, QStringList *videoFilter, QStringList *audioFilter)
| Get the settings for the file name filters of this database.
qlonglong | getFirstItemWithFaceTag (int tagId) const
| Returns the first item that has a confirmed face with the tag.
QMap< QString, int > | getFormatStatistics () const
| Returns a QMap<QString,int> of ItemInformation.format corresponding to count of items with that format.
QMap< QString, int > | getFormatStatistics (DatabaseItem::Category category) const
QList< ItemScanInfo > | getIdenticalFiles (const QString &uniqueHash, qlonglong fileSize, qlonglong sourceId=-1) const
QList< ItemScanInfo > | getIdenticalFiles (qlonglong id) const
| Find items that are, with reasonable certainty, identical to the file pointed to by id.
void | getIgnoreDirectoryFilterSettings (QStringList *ignoreDirectoryFilter)
qlonglong | getImageId (int albumID, const QString &name) const
| Get the imageId of the item.
QList< qlonglong > | getImageIds (DatabaseItem::Status status) const
| Returns all image ids with the given status.
QList< qlonglong > | getImageIds (DatabaseItem::Status status, DatabaseItem::Category category) const
| Returns all image ids with the given status and category.
QList< qlonglong > | getImageIds (int albumID, const QString &name, DatabaseItem::Status status) const
| Get the imageId fitting to the information given for the item.
QList< qlonglong > | getImageIds (int albumID, DatabaseItem::Status status, bool scanned=true) const
| Get the imageId fitting to the information given for the item.
QVariantList | 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
| Read image metadata.
QString | getImageProperty (qlonglong imageID, const QString &property) const
| Returns the property with the specified name for the specified image.
QVariantList | getImagesFields (qlonglong imageID, DatabaseFields::Images imagesFields) const
| Returns the requested fields from the Images table.
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
| 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.
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
| 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.
QList< qlonglong > | getImagesWithImageTagProperty (int tagId, const QString &property) const
| Returns all image ids that are associated to the tag with the given property.
QList< qlonglong > | getImagesWithProperty (const QString &property) const
| Returns all image ids that are associated to the given property.
QList< ImageTagProperty > | getImageTagProperties (qlonglong imageId, int tagId=-1) const
| Get the properties for the given image/tag pair.
QString | getImageUuid (qlonglong imageId) const
| Retrieves the image UUID.
int | getItemAlbum (qlonglong imageID) const
| Find the album of an item.
QList< CommentInfo > | getItemComments (qlonglong imageID) const
| Retrieves all available comments for the specified item.
QList< int > | getItemCommonTagIDs (const QList< qlonglong > &imageIDList) const
| Given a set of items (identified by their IDs), get a list of ID of all common tags.
QList< CopyrightInfo > | getItemCopyright (qlonglong imageID, const QString &property=QString()) const
| Returns the copyright properties of the specified image.
qlonglong | getItemFromAlbum (int albumID, const QString &fileName) const
| Returns the id of the item with the given filename in the album with the given id.
ImageHistoryEntry | getItemHistory (qlonglong imageId) const
| Retrieves the history entry for the given image.
QMap< qlonglong, QString > | getItemIDsAndURLsInAlbum (int albumID) const
| Given a albumID, get a map of Ids and urls of all items in the album.
QList< qlonglong > | getItemIDsInAlbum (int albumID) const
| Given a albumID, get a list of Ids of all items in the album.
QList< qlonglong > | getItemIDsInTag (int tagID, bool recursive=false) const
| Given a tagID, get a list of Ids of all items in the tag.
QVariantList | getItemInformation (qlonglong imageID, DatabaseFields::ItemInformation infoFields=DatabaseFields::ItemInformationAll) const
| Read image information.
QString | getItemName (qlonglong imageID) const
| Retrieve the name of the item.
QStringList | getItemNamesInAlbum (int albumID, bool recursive=false) const
| Returns all items for a given albumid.
QVariantList | getItemPosition (qlonglong imageID, DatabaseFields::ItemPositions positionFields=DatabaseFields::ItemPositionsAll) const
| Read image metadata.
QVariantList | getItemPositions (const QList< qlonglong > &imageIDs, DatabaseFields::ItemPositions fields) const
ItemScanInfo | getItemScanInfo (qlonglong imageID) const
| Get scan info from the image ID.
QList< ItemScanInfo > | getItemScanInfos (int albumID) const
| Returns an ItemScanInfo object for each item in the album with the specified album id.
QList< qlonglong > | getItemsForUuid (const QString &uuid) const
| Retrieves the images with the given UUID.
ItemShortInfo | getItemShortInfo (int albumRootId, const QString &relativePath, const QString &name) const
| Get item and album if from albumRootId, album path and file name.
ItemShortInfo | getItemShortInfo (qlonglong imageID) const
| Get item and album info from the image ID.
QVector< QList< int > > | getItemsTagIDs (const QList< qlonglong > &imageIds) const
| For a list of items, return the tag ids associated with the item.
QStringList | getItemsURLsWithTag (int tagId) const
| Returns a list of all images where tagId is assigned Return item URLs.
QList< int > | getItemTagIDs (qlonglong imageID) const
| Get a list of IDs of all the tags for the item.
QStringList | getItemTagNames (qlonglong imageID) const
| Get a list of names of all the tags for the item.
QStringList | getItemURLsInAlbum (int albumID, ItemSortOrder order=NoItemSorting) const
| Given a albumID, get a list of the url of all items in the album.
QStringList | getItemURLsInTag (int tagID, bool recursive=false) const
| Given a tagid, get a list of the url of all items in the tag.
QStringList | getListFromImageMetadata (DatabaseFields::ImageMetadata field) const
| Return a list from a field from imageMetadata.
QPair< int, int > | getNumberOfAllItemsAndAlbums (int albumID) const
| Returns the QPair<int, int> of all items (first) and albums (second) as a counter in the album.
QHash< int, int > | getNumberOfImagesInAlbums () const
| Returns a QHash<int, int> of album id -> count of items in the album.
QHash< int, int > | getNumberOfImagesInTagProperties (const QString &property) const
| Returns a QHash<int, int> of tag id -> count of items with the given tag property.
int | getNumberOfImagesInTagProperties (int tagId, const QString &property) const
| Returns the count of images that have a tag property for the given tag.
QHash< int, int > | getNumberOfImagesInTags () const
| Returns a QHash<int, int> of tag id -> count of items with the tag.
int | getNumberOfItemsInAlbum (int albumID) const
| Returns the number of items in the album.
QList< qlonglong > | getObsoleteItemIds () const
| Get obsolete item Ids.
QList< qlonglong > | 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).
QList< int > | getRecentlyAssignedTags () const
| Get a list of recently assigned tags (only last 6 tags are listed)
QList< qlonglong > | getRelatedImagesToByType (DatabaseRelation::Type type) const
| Retrieves all images that related to (retrieves objects) by given type.
QList< QPair< qlonglong, qlonglong > > | 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".
SearchInfo | getSearchInfo (int searchId) const
| Get information about the specified search.
QString | getSearchQuery (int searchId) const
| Get the query for the search specified by its id.
QString | getSetting (const QString &keyword) const
| This function returns the value which is stored in the database (table Settings).
QList< int > | getTagIdsWithProperties (qlonglong imageId) const
| Get all tagIds for which ImageTagProperties exist for the given image.
TagInfo | getTagInfo (int tagId) const
QList< TagProperty > | getTagProperties () const
| Returns the list of all tag properties (ordered by tag id, then property).
QList< TagProperty > | getTagProperties (const QString &property) const
| Returns the list of tag properties with the given attribute.
QList< TagProperty > | getTagProperties (int tagID) const
| Returns the list of tag properties of the given tag.
QList< TagShortInfo > | getTagShortInfos () const
| Returns all tags in the database with their parent id and name, ordered by id.
QList< int > | getTagsWithProperty (const QString &property) const
| Returns a list of tag ids with the specified property.
int | getUniqueHashVersion () const
| Returns the version used for the unique hash in this database.
void | getUserFilterSettings (QString *imageFilterString, QString *videoFilterString, QString *audioFilterString)
| Returns the user-configurable filter settings.
void | getUserIgnoreDirectoryFilterSettings (QString *ignoreDirectoryFilterString)
QVariantList | getVideoMetadata (qlonglong imageID, DatabaseFields::VideoMetadata metadataFields=DatabaseFields::VideoMetadataAll) const
| Read video metadata.
bool | hasImageHistory (qlonglong imageId) const
| Returns true if the image has a history stored in DB If not, it returns false.
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
| Given a set of items (identified by their IDs), this will see if any of the items has a tag.
bool | integrityCheck () const
| Returns true if the integrity of the database is preserved.
void | makeStaleAlbum (int albumID)
| Makes the album a stale entry by setting the albumRoot to 0.
void | migrateAlbumRoot (int rootId, const QString &identifier)
| Migrates a given album root to a new disk location.
void | moveItem (int srcAlbumID, const QString &srcName, int dstAlbumID, const QString &dstName)
| Move the attributes of an item to a different item.
void | removeAllImageComments (qlonglong imageID)
| Remove all ItemComments.
void | removeAllImageProperties (qlonglong imageID)
QList< qlonglong > | removeAllImageRelationsFrom (qlonglong subjectId, DatabaseRelation::Type type) const
QList< qlonglong > | removeAllImageRelationsTo (qlonglong objectId, DatabaseRelation::Type type) const
void | removeAllItemCopyrightProperties (qlonglong imageID)
| Removes all copyright properties for the given image id.
void | removeImageComment (int commentId, qlonglong imageID)
| Remove the specified entry in ItemComments.
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)
| Removes image relations.
void | removeImageTagProperties (qlonglong imageId, int tagId=-1, const QString &property=QString(), const QString &value=QString())
| Removes properties for the given tag.
void | removeItemAllTags (qlonglong imageID, const QList< int > &currentTagIds)
| Remove all tags for the item.
void | removeItemCopyrightProperties (qlonglong imageID, const QString &property=QString(), const QString &extraValue=QString(), const QString &value=QString())
| Removes copyright properties for the given image id.
void | removeItemPosition (qlonglong imageid)
| Remove the entry in ItemPositions for the given image.
void | removeItemPositionAltitude (qlonglong imageid)
| Remove the altitude in ItemPositions for the given image.
void | removeItems (const QList< qlonglong > &itemIDs, const QList< int > &albumIDs=QList< int >())
| Marks all items in the list as removed, resets their dirids.
void | removeItemsFromAlbum (int albumID, const QList< qlonglong > &ids_forInformation=QList< qlonglong >())
| Marks all items in the specified album as removed, resets their dirids.
void | removeItemsPermanently (const QList< qlonglong > &itemIDs, const QList< int > &albumIDs=QList< int >())
| Marks all items in the list as obsolete, resets their dirids.
void | removeItemTag (qlonglong imageID, int tagID)
| Remove a specific tag for the item.
void | removeTagProperties (int tagId, const QString &property=QString(), const QString &value=QString())
| Removes properties for the given tag.
void | removeTagsFromItems (const QList< qlonglong > &imageIDs, const QList< int > &tagIDs)
| Remove each tag from a list of tags from a each member of a list of items.
void | renameAlbum (int albumID, int newAlbumRootId, const QString &newRelativePath)
| Give an existing album a new relativePath and a newAlbumRootId.
void | renameItem (qlonglong imageID, const QString &newName)
| Rename the item.
AlbumInfo::List | scanAlbums () const
| Returns all albums and their attributes in the database.
SearchInfo::List | scanSearches () const
| Returns all searches from the database.
TagInfo::List | scanTags () const
| Returns all tags and their attributes in the database.
void | setAlbumCaption (int albumID, const QString &caption)
| Set a caption for the album.
void | setAlbumCategory (int albumID, const QString &category)
| Set a category for the album.
void | setAlbumDate (int albumID, const QDate &date)
| Set a date for the album.
void | setAlbumIcon (int albumID, qlonglong iconID)
| Set the icon for the album.
void | setAlbumModificationDate (int albumID, const QDateTime &modificationDate)
| Set the modification date time for the album.
void | setAlbumRootCaseSensitivity (int rootId, CollectionLocation::CaseSensitivity caseSensitivity)
| Sets the case sensitivity of the specified album root to a new value.
void | setAlbumRootLabel (int rootId, const QString &newLabel)
| Changes the label of the specified album root.
void | setAlbumRootPath (int rootId, const QString &newPath)
| Changes the specificPath of the specified album root.
void | setAlbumRootType (int rootId, CollectionLocation::Type newType)
| Sets the type of the specified album root to a new value.
void | setFilterSettings (const QStringList &imageFilter, const QStringList &videoFilter, const QStringList &audioFilter)
| Sets the main filter settings of the database.
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
| Sets the comments for the image.
void | setImageProperty (qlonglong imageID, const QString &property, const QString &value)
| Sets the property with the given name for the given image to the specified value.
void | setImageUuid (qlonglong imageId, const QString &uuid)
void | setItemAlbum (qlonglong imageID, qlonglong albumId)
| Updates the album field for the item.
void | 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.
void | setItemHistory (qlonglong imageId, const QString &history)
| Changes (adds or updates) the image history.
void | setItemManualOrder (qlonglong imageID, qlonglong value)
| Updates the manualOrder field for the item.
void | setItemModificationDate (qlonglong imageID, const QDateTime &modificationDate)
| Updates the modification date field for the item.
void | setItemStatus (qlonglong imageID, DatabaseItem::Status status)
| Updates the status field for the item.
void | setSetting (const QString &keyword, const QString &value)
| This adds a keyword-value combination to the database Settings table if the keyword already exists, the value will be replaced with the new value.
void | setTagIcon (int tagID, const QString &iconKDE, qlonglong iconID)
| Set the icon for the tag.
void | setTagName (int tagID, const QString &name)
| Set a new name for the tag.
void | setTagParentID (int tagID, int newParentTagID)
| Set the parent tagid for the tag.
void | setUniqueHashVersion (int version)
void | setUserFilterSettings (const QStringList &imageFilter, const QStringList &videoFilter, const QStringList &audioFilter)
| Sets the user-configurable filter settings.
void | setUserIgnoreDirectoryFilterSettings (const QStringList &ignoreDirectoryFilters)
void | 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.
void | updateSearch (int searchID, DatabaseSearch::Type type, const QString &name, const QString &query)
| Updates Search with new attributes.
void | vacuum ()
| Shrinks the database.

## 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 Function Documentation

## ◆ addAlbum()

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

Parameters

  albumRootId | id of the album root of the new album
  relativePath | url of the album
  caption | the album caption
  date | the date for the album
  collection | the album collection

Returns
  the id of the album added or -1 if it failed

## ◆ addAlbumRoot()

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

Parameters

  type | The type of the album root
  identifier | The album root identifier
  specificPath | The path specific to volume
  label | An (optional) user-visible label

Returns
  the album root id of the newly created root

## ◆ addImageMetadata()

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

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

Note
  : you can leave out entries from this list. Indicate the values that you have passed in the ImageMetadata flag in the third parameters.

## ◆ addImageTagProperty()

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

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.

## ◆ 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

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

## ◆ addItemInformation()

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

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

Note
  : 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.

## ◆ addItemPosition()

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

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

Note
  : you can leave out entries from this list. Indicate the values that you have passed in the ItemInfo flag in the third parameters.

## ◆ addItemTag() [1/2]

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

Parameters

  albumID | the albumID of the item
  name | the name of the item
  tagID | the tagID for the tag

## ◆ addItemTag() [2/2]

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

Parameters

  imageID | the ID of the item
  tagID | the tagID for the tag
  newTag | add to last assigned tag list

## ◆ addSearch()

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

Parameters

  type | search type
  name | name of the search
  query | search query to use

Returns
  the id of the album added or -1 if it failed

## ◆ addTag()

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

Parameters

  parentTagID | the id of the tag which will become the new tags parent
  name | the name of the tag
  iconKDE | the name of the icon file (this is filename which kde iconloader can load up)
  iconID | the 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

## ◆ addTagProperty()

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

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.

## ◆ addToDownloadHistory()

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

Returns the id of the entry.

## ◆ addVideoMetadata()

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

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

Note
  : 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.

## ◆ changeImageComment()

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

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

## ◆ changeImageMetadata()

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

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.

## ◆ changeItemInformation()

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

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.

## ◆ changeItemPosition()

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

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.

## ◆ changeVideoMetadata()

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

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.

## ◆ copyAlbumProperties()

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

Both albums must exist.

Returns
  true if the operations succeeds

## ◆ copyItem()

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

Useful when say a file is copied. The operation fails (returns -1) of src and dest are identical.

Parameters

  srcAlbumID | the id of the source album
  dstAlbumID | the id of the destination album
  srcName | the name of the source file
  dstName | the name of the destination file

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

## ◆ databaseUuid()

QUuid Digikam::CoreDB::databaseUuid | ( |  | ) |

This UUID is kept stable over schema updates.

## ◆ deleteAlbum()

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

This will not delete the subalbums of the album.

Parameters

  albumID | the id of the album

## ◆ deleteAlbumRoot()

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

Parameters

  rootId | the id of the album root

## ◆ deleteItem() [1/2]

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

Parameters

  albumID | The id of the album.
  file | The filename of the file to delete.

## ◆ deleteItem() [2/2]

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

This method can only be used if the album of the image is null!

Parameters

  imageId | The id of the image.

## ◆ deleteObsoleteItem()

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

Parameters

  imageId | The id of the image.

## ◆ deleteRemovedItems()

void Digikam::CoreDB::deleteRemovedItems | ( |  | ) |

Warning
  : Use with care!

## ◆ deleteSearch()

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

Parameters

  searchID | the id of the search

## ◆ deleteTag()

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

This will not delete the subtags of the tag.

Parameters

  tagID | the id of the tag

## ◆ findImageId()

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

Parameters

  albumID | the albumID of the item (-1 means null)
  name | the name of the item
  status | the status of the item
  category | the category of the item
  fileSize | the file size
  uniqueHash | the unique hash

Returns
  the ImageId for the item, or -1 if no matching or more than one infos were found.

## ◆ findInDownloadHistory()

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

Returns the id of the entry, or -1 if not found.

## ◆ getAlbumAndSubalbumsForPath()

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

Parameters

  albumRootId | id of the album root of the album
  relativePath | The 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.

## ◆ getAlbumAverageDate()

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

Parameters

  albumID | the id of the album to calculate

Returns
  the date.

## ◆ getAlbumForPath()

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

Parameters

  albumRootId | id of the album root of the album
  relativePath | The relative path for which you want the albumID relative to the album root
  create | If 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.

## ◆ getAlbumHighestDate()

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

Parameters

  albumID | the id of the album to calculate

Returns
  the date.

## ◆ getAlbumLowestDate()

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

Parameters

  albumID | the id of the album to calculate

Returns
  the date.

## ◆ getAlbumModificationDate()

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

Parameters

  albumID | the id of the album

## ◆ getAlbumModificationMap()

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

Parameters

  albumRootId | id of the album root of the album

## ◆ getAlbumRelativePath()

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

Parameters

  albumID | the id of the album

Returns
  the url of the album

## ◆ getAlbumRootId()

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

Parameters

  albumID | the id of the albumdb

Returns
  the id of the album root of this album

## ◆ getAlbumRoots()

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

Returns
  a list of albums and their attributes

## ◆ getAlbumsOnAlbumRoot()

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

Returns
  a list of album ids.

## ◆ getAllItemsWithAlbum()

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

QPair.first == albumRootID QPair.second == albumID

## ◆ getDatabaseEncoding()

QString Digikam::CoreDB::getDatabaseEncoding | ( |  | ) | const

For SQLite should UTF-8. For MySQL like UTF8MB4.

## ◆ getDirtyOrMissingFaceImageUrls()

QStringList Digikam::CoreDB::getDirtyOrMissingFaceImageUrls | ( |  | ) | const

Return image ids or item URLs.

## ◆ getFilterSettings()

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

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.

## ◆ getIdenticalFiles()

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

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.

## ◆ getImageId()

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

Parameters

  albumID | the albumID of the item
  name | the name of the item

Returns
  the ImageId for the item, or -1 if it does not exist

## ◆ getImageIds() [1/4]

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

Parameters

  status | The status.

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

## ◆ getImageIds() [2/4]

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

Parameters

  status | The status.
  category | The category.

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

## ◆ getImageIds() [3/4]

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

Parameters

  albumID | the albumID of the item (-1 means NULL)
  name | the name of the item
  status | the status of the item

Returns
  the ImageIds for the item, or an empty list if there are no matching entries.

## ◆ getImageIds() [4/4]

QList< qlonglong > Digikam::CoreDB::getImageIds | ( | int | albumID,
|  | DatabaseItem::Status | status,
|  | bool | scanned = `true`
| ) |  | const

Parameters

  albumID | the albumID of the item (-1 means NULL)
  status | the status of the item
  scanned | return scanned/unscanned items

Returns
  the ImageIds for the item, or an empty list if there are no matching entries.

## ◆ getImageMetadata()

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

Parameters as above.

## ◆ getImagesFields()

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

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

## ◆ getImagesRelatedFrom()

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

"Get images related to from this"

## ◆ getImagesRelatingTo()

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

"Get images this image is relating to"

## ◆ getImageTagProperties()

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

If the tagID is -1, returns the ImageTagProperties for all tagIds of the given image.

## ◆ getItemAlbum()

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

Parameters

  imageID | The ID of the item

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

## ◆ getItemCommonTagIDs()

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

Parameters

  imageIDList | a list of IDs of the items

Returns
  the list of common IDs of the given items

## ◆ getItemCopyright()

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

If property is not null, only the given property is returned.

## ◆ getItemFromAlbum()

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

Parameters

  albumID | The albumId in which we search the item.
  fileName | The name of the item file.

Returns
  The item id or -1 if not existent.

## ◆ getItemIDsAndURLsInAlbum()

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

Note
  : Uses the CollectionManager

Parameters

  albumID | the 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

## ◆ getItemIDsInAlbum()

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

Parameters

  albumID | the id of the album

Returns
  a list of Ids for the items in the album.

## ◆ getItemIDsInTag()

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

Parameters

  tagID | the id of the tag
  recursive | perform a recursive folder hierarchy parsing

Returns
  a list of Ids for the items in the tag.

## ◆ getItemInformation()

QVariantList Digikam::CoreDB::getItemInformation | ( | qlonglong | imageID,
|  | DatabaseFields::ItemInformation | infoFields = `DatabaseFields::ItemInformationAll`
| ) |  | const

Parameters as above.

## ◆ getItemName()

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

Parameters

  imageID | The 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

This is used to verify if all items on disk are consistent with the database in the CollectionScanner class.

Parameters

  albumID | The albumID for which you want all items.
  recursive | perform a recursive folder hierarchy parsing

Returns
  It returns a QStringList with the filenames.

## ◆ getItemPosition()

QVariantList Digikam::CoreDB::getItemPosition | ( | qlonglong | imageID,
|  | DatabaseFields::ItemPositions | positionFields = `DatabaseFields::ItemPositionsAll`
| ) |  | const

Parameters as above.

## ◆ getItemsTagIDs()

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

Amounts to calling getItemTagIDs for each id in imageIds, but is optimized.

## ◆ getItemTagIDs()

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

Parameters

  imageID | the ID of the item

Returns
  the list of IDs of all tags for the item

## ◆ getItemTagNames()

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

Parameters

  imageID | the 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

Note
  : Uses the CollectionManager

Parameters

  albumID | the id of the album
  order | order 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

## ◆ getItemURLsInTag()

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

Note
  : Uses the CollectionManager

Parameters

  tagID | the id of the tag
  recursive | perform 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

## ◆ getNumberOfAllItemsAndAlbums()

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

Parameters

  albumID | the id of the album

## ◆ getNumberOfItemsInAlbum()

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

Parameters

  albumID | the id of the album

## ◆ getOneRelatedImageEach()

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

Ids are unique in the returned list, and do not correspond by index to the given list.

## ◆ getRecentlyAssignedTags()

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

Returns
  the list of recently assigned tags

## ◆ getRelationCloud()

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

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.

## ◆ getSetting()

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

Parameters

  keyword | The 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.

## ◆ getTagsWithProperty()

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

## ◆ getUniqueHashVersion()

int Digikam::CoreDB::getUniqueHashVersion | ( |  | ) | const

The value is cached.

## ◆ getUserFilterSettings()

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

If you are not interested in a specific value, pass 0.

## ◆ getVideoMetadata()

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

Parameters as above.

## ◆ hasTags()

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

Parameters

  imageIDList | a list of IDs of the items

Returns
  true if at least one of the items has a tag

## ◆ makeStaleAlbum()

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

Emits the same changeset as deleteAlbum()

## ◆ migrateAlbumRoot()

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

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.

## ◆ moveItem()

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

Useful when say a file is renamed

Parameters

  srcAlbumID | the id of the source album
  dstAlbumID | the id of the destination album
  srcName | the name of the source file
  dstName | the name of the destination file

## ◆ removeImageRelation()

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

The batch methods return all removed partners.

## ◆ removeImageTagProperties()

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

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.

## ◆ removeItemAllTags()

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

Parameters

  imageID | the ID of the item
  currentTagIds | the current tags ids assigned to the item

## ◆ removeItemCopyrightProperties()

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

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).

Warning
  : extraValue is ordered before value in this method! Take a care to the parameter order.

## ◆ removeItems()

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

The items can later be removed by deleteRemovedItems().

Parameters

  itemIDs | a list of item IDs to be marked
  albumIDs | this parameter is purely informational. it shall contain the albums that the items are removed from.

## ◆ removeItemsFromAlbum()

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

The album can be deleted afterwards without removing the entries for the items, which can later be removed by deleteRemovedItems().

Parameters

  albumID | The id of the album
  ids_forInformation | Fully optional: The image ids in the album, if you know them anyway. This parameter is only used for distributing the change notification.

## ◆ removeItemsPermanently()

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

The items can later be removed by deleteRemovedItems().

Parameters

  itemIDs | a list of item IDs to be marked
  albumIDs | this parameter is purely informational. it shall contain the albums that the items are removed from.

## ◆ removeItemTag()

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

Parameters

  imageID | the ID of the item
  tagID | the tagID for the tag

## ◆ removeTagProperties()

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

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.

## ◆ renameItem()

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

Note: we not use here ImageChangeset.

## ◆ scanAlbums()

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

Returns
  a list of albums and their attributes

## ◆ scanSearches()

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

Returns
  a list of searches from the database

## ◆ scanTags()

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

Returns
  a list of tags and their attributes

## ◆ setAlbumCaption()

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

Parameters

  albumID | the id of the album
  caption | the new caption for the album

## ◆ setAlbumCategory()

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

Parameters

  albumID | the id of the album
  category | the new category for the album

## ◆ setAlbumDate()

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

Parameters

  albumID | the id of the album
  date | the date for the album

## ◆ setAlbumIcon()

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

Parameters

  albumID | the id of the album
  iconID | the id of the icon file

## ◆ setAlbumModificationDate()

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

Parameters

  albumID | the id of the album
  modificationDate | the modification date time for the album

## ◆ setAlbumRootLabel()

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

Parameters

  rootId | the id of the album root
  newLabel | new label for the album root

## ◆ setAlbumRootPath()

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

Parameters

  rootId | the id of the album root
  newPath | new path for the album root

## ◆ setFilterSettings()

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

Should only be called at schema update.

## ◆ 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

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

Parameters

  imageID | The imageID of the image
  comment | The comment string
  type | The type of the comment
  language | Information 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.
  author | Optional information about the author who wrote the comment. If not supported by the source, pass a null string.
  date | Optional 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

## ◆ setItemAlbum()

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

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

## ◆ setItemStatus()

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

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

## ◆ setSetting()

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

Parameters

  keyword | The keyword
  value | The value

## ◆ setTagIcon()

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

Parameters

  tagID | the id of the tag
  iconKDE | the filename for the kde icon file
  iconID | the 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

## ◆ setTagName()

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

Parameters

  tagID | the id of the tag
  name | the new name for the tag

## ◆ setTagParentID()

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

This is equivalent to reparenting the tag

Parameters

  tagID | the id of the tag
  newParentTagID | the new parentid for the tag

## ◆ setUserFilterSettings()

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

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.

## ◆ updateItem()

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

Parameters

  imageID | the image that has been modified
  category | the image category that has been modified
  modificationDate | the image time-stamp that has been modified
  fileSize | the image file size that has been modified
  uniqueHash | the image hash that has been modified

## ◆ updateSearch()

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

Parameters

  searchID | the id of the search
  type | type of the search
  name | name of the search
  query | database query of the search