digiKam Developer Documentation
Professional Photo Management with the Power of Open Source
Loading...
Searching...
No Matches
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< AlbumRootInfogetAlbumRoots () const
 Returns all albums and their attributes in the database.
 
QList< AlbumShortInfogetAlbumShortInfos () 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.
 
QVariantList getAllCreationDates () const
 Returns a QVariantList of creationDate of all items.
 
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< ItemScanInfogetIdenticalFiles (const QString &uniqueHash, qlonglong fileSize, qlonglong sourceId=-1) const
 
QList< ItemScanInfogetIdenticalFiles (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.
 
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
 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< ImageTagPropertygetImageTagProperties (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< CommentInfogetItemComments (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< CopyrightInfogetItemCopyright (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< ItemScanInfogetItemScanInfos (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< TagPropertygetTagProperties () const
 Returns the list of all tag properties (ordered by tag id, then property).
 
QList< TagPropertygetTagProperties (const QString &property) const
 Returns the list of tag properties with the given attribute.
 
QList< TagPropertygetTagProperties (int tagID) const
 Returns the list of tag properties of the given tag.
 
QList< TagShortInfogetTagShortInfos () 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
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

◆ addAlbumRoot()

int Digikam::CoreDB::addAlbumRoot ( CollectionLocation::Type  type,
const QString &  identifier,
const QString &  specificPath,
const QString &  label 
) const
Parameters
typeThe type of the album root
identifierThe album root identifier
specificPathThe path specific to volume
labelAn (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
albumIDthe albumID of the item
namethe name of the item
tagIDthe tagID for the tag

◆ addItemTag() [2/2]

void Digikam::CoreDB::addItemTag ( qlonglong  imageID,
int  tagID,
bool  newTag = false 
)
Parameters
imageIDthe ID of the item
tagIDthe tagID for the tag
newTagadd to last assigned tag list

◆ addSearch()

int Digikam::CoreDB::addSearch ( DatabaseSearch::Type  type,
const QString &  name,
const QString &  query 
) const
Parameters
typesearch type
namename of the search
querysearch 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
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

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

◆ 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
albumIDthe id of the album

◆ deleteAlbumRoot()

void Digikam::CoreDB::deleteAlbumRoot ( int  rootId)
Parameters
rootIdthe id of the album root

◆ deleteItem() [1/2]

void Digikam::CoreDB::deleteItem ( int  albumID,
const QString &  file 
)
Parameters
albumIDThe id of the album.
fileThe 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
imageIdThe id of the image.

◆ deleteObsoleteItem()

void Digikam::CoreDB::deleteObsoleteItem ( qlonglong  imageId)
Parameters
imageIdThe id of the image.

◆ deleteRemovedItems()

void Digikam::CoreDB::deleteRemovedItems ( )
Warning
: Use with care!

◆ deleteSearch()

void Digikam::CoreDB::deleteSearch ( int  searchID)
Parameters
searchIDthe id of the search

◆ deleteTag()

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

This will not delete the subtags of the tag.

Parameters
tagIDthe 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
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.

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

◆ getAlbumAverageDate()

QDate Digikam::CoreDB::getAlbumAverageDate ( int  albumID) const
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
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.

◆ getAlbumHighestDate()

QDate Digikam::CoreDB::getAlbumHighestDate ( int  albumID) const
Parameters
albumIDthe id of the album to calculate
Returns
the date.

◆ getAlbumLowestDate()

QDate Digikam::CoreDB::getAlbumLowestDate ( int  albumID) const
Parameters
albumIDthe id of the album to calculate
Returns
the date.

◆ getAlbumModificationDate()

QDateTime Digikam::CoreDB::getAlbumModificationDate ( int  albumID) const
Parameters
albumIDthe id of the album

◆ getAlbumModificationMap()

QMap< QString, QDateTime > Digikam::CoreDB::getAlbumModificationMap ( int  albumRootId) const
Parameters
albumRootIdid of the album root of the album

◆ getAlbumRelativePath()

QString Digikam::CoreDB::getAlbumRelativePath ( int  albumID) const
Parameters
albumIDthe id of the album
Returns
the url of the album

◆ getAlbumRootId()

int Digikam::CoreDB::getAlbumRootId ( int  albumID) const
Parameters
albumIDthe 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
albumIDthe albumID of the item
namethe 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
statusThe 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
statusThe status.
categoryThe 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
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.

◆ getImageIds() [4/4]

QList< qlonglong > Digikam::CoreDB::getImageIds ( int  albumID,
DatabaseItem::Status  status,
bool  scanned = true 
) const
Parameters
albumIDthe albumID of the item (-1 means NULL)
statusthe status of the item
scannedreturn 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
imageIDThe 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
imageIDLista 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
albumIDThe albumId in which we search the item.
fileNameThe 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
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

◆ getItemIDsInAlbum()

QList< qlonglong > Digikam::CoreDB::getItemIDsInAlbum ( int  albumID) const
Parameters
albumIDthe 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
tagIDthe id of the tag
recursiveperform 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
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

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.

◆ 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
imageIDthe ID of the item
Returns
the list of IDs of all tags for the item

◆ getItemTagNames()

QStringList Digikam::CoreDB::getItemTagNames ( qlonglong  imageID) const
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
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

◆ getItemURLsInTag()

QStringList Digikam::CoreDB::getItemURLsInTag ( int  tagID,
bool  recursive = false 
) const
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

◆ getNumberOfAllItemsAndAlbums()

QPair< int, int > Digikam::CoreDB::getNumberOfAllItemsAndAlbums ( int  albumID) const
Parameters
albumIDthe id of the album

◆ getNumberOfItemsInAlbum()

int Digikam::CoreDB::getNumberOfItemsInAlbum ( int  albumID) const
Parameters
albumIDthe 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
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.

◆ 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
imageIDLista 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
srcAlbumIDthe id of the source album
dstAlbumIDthe id of the destination album
srcNamethe name of the source file
dstNamethe 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
imageIDthe ID of the item
currentTagIdsthe 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
itemIDsa list of item IDs to be marked
albumIDsthis 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
albumIDThe id of the album
ids_forInformationFully 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
itemIDsa list of item IDs to be marked
albumIDsthis 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
imageIDthe ID of the item
tagIDthe 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
albumIDthe id of the album
captionthe new caption for the album

◆ setAlbumCategory()

void Digikam::CoreDB::setAlbumCategory ( int  albumID,
const QString &  category 
)
Parameters
albumIDthe id of the album
categorythe new category for the album

◆ setAlbumDate()

void Digikam::CoreDB::setAlbumDate ( int  albumID,
const QDate &  date 
)
Parameters
albumIDthe id of the album
datethe date for the album

◆ setAlbumIcon()

void Digikam::CoreDB::setAlbumIcon ( int  albumID,
qlonglong  iconID 
)
Parameters
albumIDthe id of the album
iconIDthe id of the icon file

◆ setAlbumModificationDate()

void Digikam::CoreDB::setAlbumModificationDate ( int  albumID,
const QDateTime &  modificationDate 
)
Parameters
albumIDthe id of the album
modificationDatethe modification date time for the album

◆ setAlbumRootLabel()

void Digikam::CoreDB::setAlbumRootLabel ( int  rootId,
const QString &  newLabel 
)
Parameters
rootIdthe id of the album root
newLabelnew label for the album root

◆ setAlbumRootPath()

void Digikam::CoreDB::setAlbumRootPath ( int  rootId,
const QString &  newPath 
)
Parameters
rootIdthe id of the album root
newPathnew 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
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

◆ 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
keywordThe keyword
valueThe value

◆ setTagIcon()

void Digikam::CoreDB::setTagIcon ( int  tagID,
const QString &  iconKDE,
qlonglong  iconID 
)
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

◆ setTagName()

void Digikam::CoreDB::setTagName ( int  tagID,
const QString &  name 
)
Parameters
tagIDthe id of the tag
namethe new name for the tag

◆ setTagParentID()

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

This is equivalent to reparenting the tag

Parameters
tagIDthe id of the tag
newParentTagIDthe 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
imageIDthe image that has been modified
categorythe image category that has been modified
modificationDatethe image time-stamp that has been modified
fileSizethe image file size that has been modified
uniqueHashthe image hash that has been modified

◆ updateSearch()

void Digikam::CoreDB::updateSearch ( int  searchID,
DatabaseSearch::Type  type,
const QString &  name,
const QString &  query 
)
Parameters
searchIDthe id of the search
typetype of the search
namename of the search
querydatabase query of the search