|
Krita Source Code Documentation
|
The KisTagResourceModel class makes it possible to retrieve the resources for certain tags or the tags for certain resources. If the filter for tags or resources is empty, all tags or resources that match for the active/inactive/all filters will match. More...
#include <KisTagResourceModel.h>
Inheritance diagram for KisTagResourceModel:Classes | |
| struct | Private |
Public Types | |
| enum | TagFilter { ShowInactiveTags = 0 , ShowActiveTags , ShowAllTags } |
Public Types inherited from KisAbstractResourceModel | |
| enum | Columns { Id = 0 , StorageId , Name , Filename , Tooltip , Thumbnail , Status , Location , ResourceType , Tags , MD5 , LargeThumbnail , Dirty , MetaData , ResourceActive , StorageActive , BrokenStatus , BrokenStatusMessage } |
| The Columns enum indexes the columns in the model. To get the thumbnail for a particular resource, create the index with QModelIndex(row, Thumbnail). More... | |
Public Types inherited from KisAbstractResourceFilterInterface | |
| enum | ResourceFilter { ShowInactiveResources = 0 , ShowActiveResources , ShowAllResources } |
| enum | StorageFilter { ShowInactiveStorages = 0 , ShowActiveStorages , ShowAllStorages } |
Public Member Functions | |
| bool | addResource (KoResourceSP resource, const QString &storageId) override |
| addResource adds the given resource to the database and storage. If the resource already exists in the given storage with md5, filename or name, the existing resource will be updated instead. If the existing resource was inactive, it will be active (undeleted). | |
| bool | exportResource (KoResourceSP resource, QIODevice *device) override |
| exportResource exports a resource into a QIODevice | |
| QVariant | headerData (int section, Qt::Orientation orientation, int role=Qt::DisplayRole) const override |
| KoResourceSP | importResource (const QString &filename, QIODevice *device, const bool allowOverwrite, const QString &storageId=QString()) override |
| importResource imports a resource from a QIODevice | |
| KoResourceSP | importResourceFile (const QString &filename, const bool allowOverwrite, const QString &storageId=QString()) override |
| importResourceFile | |
| bool | importWillOverwriteResource (const QString &fileName, const QString &storageLocation) const override |
| importWillOverwriteResource checks is importing a resource with this filename will overwrite anything | |
| QModelIndex | indexForResource (KoResourceSP resource) const override |
| indexFromResource | |
| QModelIndex | indexForResourceId (int resourceId) const override |
| indexFromResource | |
| int | isResourceTagged (const KisTagSP tag, const int resourceId) override |
| isResourceTagged | |
| KisTagResourceModel (const QString &resourceType, QObject *parent=0) | |
| bool | reloadResource (KoResourceSP resource) override |
| reloadResource | |
| bool | renameResource (KoResourceSP resource, const QString &name) override |
| renameResource name the given resource. The resource will have its name field reset, will be saved to the storage and there will be a new version created in the database. | |
| KoResourceSP | resourceForIndex (QModelIndex index) const override |
| resourceForIndex returns a properly versioned and id'ed resource object | |
| bool | setResourceActive (const QModelIndex &index, bool value) override |
| setResourceActive changes 'active' state of the resource | |
| void | setResourceFilter (ResourceFilter filter) override |
| bool | setResourceMetaData (KoResourceSP resource, QMap< QString, QVariant > metadata) override |
| setResourceMetaData | |
| void | setResourcesFilter (const QVector< int > resourceIds) |
| void | setResourcesFilter (const QVector< KoResourceSP > resources) |
| void | setStorageFilter (StorageFilter filter) override |
| void | setTagFilter (TagFilter filter) |
| void | setTagsFilter (const QVector< int > tagIds) |
| void | setTagsFilter (const QVector< KisTagSP > tags) |
| bool | tagResources (const KisTagSP tag, const QVector< int > &resourceIds) override |
| bool | untagResources (const KisTagSP tag, const QVector< int > &resourceIds) override |
| bool | updateResource (KoResourceSP resource) override |
| updateResource creates a new version of the resource in the storage and in the database. This will also set the resource to active if it was inactive. | |
| ~KisTagResourceModel () override | |
Public Member Functions inherited from KisAbstractTagResourceModel | |
| virtual | ~KisAbstractTagResourceModel () |
Public Member Functions inherited from KisAbstractResourceModel | |
| bool | setResourceInactive (const QModelIndex &index) |
| virtual | ~KisAbstractResourceModel () |
Public Member Functions inherited from KisAbstractResourceFilterInterface | |
| virtual | ~KisAbstractResourceFilterInterface () |
Protected Slots | |
| void | storageChanged (const QString &location) |
Protected Member Functions | |
| bool | filterAcceptsRow (int source_row, const QModelIndex &source_parent) const override |
| bool | lessThan (const QModelIndex &source_left, const QModelIndex &source_right) const override |
Private Attributes | |
| Private *const | d |
The KisTagResourceModel class makes it possible to retrieve the resources for certain tags or the tags for certain resources. If the filter for tags or resources is empty, all tags or resources that match for the active/inactive/all filters will match.
Definition at line 104 of file KisTagResourceModel.h.
| Enumerator | |
|---|---|
| ShowInactiveTags | |
| ShowActiveTags | |
| ShowAllTags | |
Definition at line 118 of file KisTagResourceModel.h.
| KisTagResourceModel::KisTagResourceModel | ( | const QString & | resourceType, |
| QObject * | parent = 0 ) |
Definition at line 730 of file KisTagResourceModel.cpp.
References connect(), d, KisResourceLocator::instance(), KisStorageModel::instance(), KisTagResourceModel::Private::resourceType, KisTagResourceModel::Private::sourceModel, storageChanged(), and KisResourceModelProvider::tagResourceModel().
|
override |
|
overridevirtual |
addResource adds the given resource to the database and storage. If the resource already exists in the given storage with md5, filename or name, the existing resource will be updated instead. If the existing resource was inactive, it will be active (undeleted).
| resource | the resource itself |
| storageId | the id of the storage (could be "memory" for temporary resources, the document's storage id for document storages or empty to save to the default resources folder |
Implements KisAbstractResourceModel.
Definition at line 935 of file KisTagResourceModel.cpp.
References KisResourceModel::addResource(), d, and KisTagResourceModel::Private::resourceType.
|
overridevirtual |
exportResource exports a resource into a QIODevice
Exporting a resource as a binary blob is the only way to guarantee that its MD5 checksum is kept persistent. The underlying storage will just copy bytes into the device without doing any conversions
| resource | the resource to be exported |
| device | device where the resource should be written to |
Implements KisAbstractResourceModel.
Definition at line 929 of file KisTagResourceModel.cpp.
References d, KisResourceModel::exportResource(), and KisTagResourceModel::Private::resourceType.
|
overrideprotected |
Definition at line 817 of file KisTagResourceModel.cpp.
References d, KisAllTagResourceModel::ResourceActive, KisTagResourceModel::Private::resourceFilter, KisAllTagResourceModel::ResourceId, KisTagResourceModel::Private::resourceIds, KisAllTagResourceModel::ResourceStorageActive, KisAbstractResourceFilterInterface::ShowActiveResources, KisAbstractResourceFilterInterface::ShowActiveStorages, ShowActiveTags, KisAbstractResourceFilterInterface::ShowAllResources, KisAbstractResourceFilterInterface::ShowAllStorages, ShowAllTags, KisAbstractResourceFilterInterface::ShowInactiveResources, KisAbstractResourceFilterInterface::ShowInactiveStorages, ShowInactiveTags, KisTagResourceModel::Private::storageFilter, KisAllTagResourceModel::TagActive, KisTagResourceModel::Private::tagFilter, KisAllTagResourceModel::TagId, and KisTagResourceModel::Private::tagIds.
|
override |
Definition at line 988 of file KisTagResourceModel.cpp.
References d, KisAllTagResourceModel::headerData(), and KisTagResourceModel::Private::sourceModel.
|
overridevirtual |
importResource imports a resource from a QIODevice
Importing a resource from a binary blob is the only way to guarantee that its MD5 checksum is kept persistent. The underlying storage will just copy bytes into its location.
| filename | file name of the resource if preset. File name may be used for addressing the resource, so it is usually preferred to preserve it. |
| device | device where the resource should be read from |
Implements KisAbstractResourceModel.
Definition at line 915 of file KisTagResourceModel.cpp.
References d, KisResourceModel::importResource(), and KisTagResourceModel::Private::resourceType.
|
overridevirtual |
importResourceFile
| filename |
Implements KisAbstractResourceModel.
Definition at line 907 of file KisTagResourceModel.cpp.
References d, KisResourceModel::importResourceFile(), and KisTagResourceModel::Private::resourceType.
|
overridevirtual |
importWillOverwriteResource checks is importing a resource with this filename will overwrite anything
If this function returns true, then importResource() is guaranteed to fail with 'allowOverwrite' set to false.
| filename | file name of the resource if preset. File name may be used for addressing the resource, so it is usually preferred to preserve it. |
Implements KisAbstractResourceModel.
Definition at line 923 of file KisTagResourceModel.cpp.
References d, KisResourceModel::importWillOverwriteResource(), and KisTagResourceModel::Private::resourceType.
|
overridevirtual |
indexFromResource
| resource |
Implements KisAbstractResourceModel.
Definition at line 873 of file KisTagResourceModel.cpp.
References KisAllTagResourceModel::ResourceId.
|
overridevirtual |
indexFromResource
| resourceId | resource id for which we want to get an index |
Implements KisAbstractResourceModel.
Definition at line 887 of file KisTagResourceModel.cpp.
References KisAllTagResourceModel::ResourceId.
|
overridevirtual |
isResourceTagged
| tag | the tag to check |
| resourceId | the id of the resource to check |
Implements KisAbstractTagResourceModel.
Definition at line 778 of file KisTagResourceModel.cpp.
References d, KisAllTagResourceModel::isResourceTagged(), and KisTagResourceModel::Private::sourceModel.
|
overrideprotected |
Definition at line 852 of file KisTagResourceModel.cpp.
References KisAllTagResourceModel::ResourceName.
|
overridevirtual |
reloadResource
| resource |
Implements KisAbstractResourceModel.
Definition at line 956 of file KisTagResourceModel.cpp.
References d, indexForResource(), KisResourceModel::reloadResource(), and KisTagResourceModel::Private::resourceType.
|
overridevirtual |
renameResource name the given resource. The resource will have its name field reset, will be saved to the storage and there will be a new version created in the database.
| resource | The resource to rename |
| name | The new name |
Implements KisAbstractResourceModel.
Definition at line 969 of file KisTagResourceModel.cpp.
References d, indexForResource(), KisResourceModel::renameResource(), and KisTagResourceModel::Private::resourceType.
|
overridevirtual |
resourceForIndex returns a properly versioned and id'ed resource object
Implements KisAbstractResourceModel.
Definition at line 865 of file KisTagResourceModel.cpp.
References KisResourceLocator::instance(), KisResourceLocator::resourceForId(), and KisAllTagResourceModel::ResourceId.
|
overridevirtual |
setResourceActive changes 'active' state of the resource
| index | the index of the resource |
| value | new 'active' state of the resource |
Implements KisAbstractResourceModel.
Definition at line 900 of file KisTagResourceModel.cpp.
References d, KisResourceModel::indexForResource(), resourceForIndex(), KisTagResourceModel::Private::resourceType, KisResourceModel::setResourceActive(), and value().
|
overridevirtual |
Select status of the resources that should be shown
Implements KisAbstractResourceFilterInterface.
Definition at line 755 of file KisTagResourceModel.cpp.
References d, and KisTagResourceModel::Private::resourceFilter.
|
overridevirtual |
setResourceMetaData
| metadata |
Implements KisAbstractResourceModel.
Definition at line 982 of file KisTagResourceModel.cpp.
References d, KisTagResourceModel::Private::resourceType, and KisResourceModel::setResourceMetaData().
Definition at line 789 of file KisTagResourceModel.cpp.
References d, and KisTagResourceModel::Private::resourceIds.
| void KisTagResourceModel::setResourcesFilter | ( | const QVector< KoResourceSP > | resources | ) |
Definition at line 806 of file KisTagResourceModel.cpp.
References d, and KisTagResourceModel::Private::resourceIds.
|
overridevirtual |
Select status of the storages that should be shown
Implements KisAbstractResourceFilterInterface.
Definition at line 761 of file KisTagResourceModel.cpp.
References d, and KisTagResourceModel::Private::storageFilter.
| void KisTagResourceModel::setTagFilter | ( | KisTagResourceModel::TagFilter | filter | ) |
Definition at line 749 of file KisTagResourceModel.cpp.
References d, and KisTagResourceModel::Private::tagFilter.
Definition at line 783 of file KisTagResourceModel.cpp.
References d, and KisTagResourceModel::Private::tagIds.
Definition at line 795 of file KisTagResourceModel.cpp.
References d, and KisTagResourceModel::Private::tagIds.
|
protectedslot |
Definition at line 859 of file KisTagResourceModel.cpp.
|
overridevirtual |
Implements KisAbstractTagResourceModel.
Definition at line 767 of file KisTagResourceModel.cpp.
References d, KisTagResourceModel::Private::sourceModel, and KisAllTagResourceModel::tagResources().
|
overridevirtual |
Implements KisAbstractTagResourceModel.
Definition at line 773 of file KisTagResourceModel.cpp.
References d, KisTagResourceModel::Private::sourceModel, and KisAllTagResourceModel::untagResources().
|
overridevirtual |
updateResource creates a new version of the resource in the storage and in the database. This will also set the resource to active if it was inactive.
Note: if the storage does not support versioning, updating the resource will fail.
| resource |
Implements KisAbstractResourceModel.
Definition at line 943 of file KisTagResourceModel.cpp.
References d, indexForResource(), KisTagResourceModel::Private::resourceType, and KisResourceModel::updateResource().
|
private |
Definition at line 168 of file KisTagResourceModel.h.