|
Krita Source Code Documentation
|
The KisResourceModel class provides the main access to resources. It is possible to filter the resources returned by the active status flag of the resources and the storages. More...
#include <KisResourceModel.h>
Inheritance diagram for KisResourceModel:Classes | |
| struct | Private |
Public Member Functions | |
| bool | addResource (KoResourceSP resource, const QString &storageId=QString("")) 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 | |
| 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=QString()) 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 | |
| KisResourceModel (const QString &type, 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 | resourceForId (int id) const |
| KoResourceSP | resourceForIndex (QModelIndex index=QModelIndex()) const override |
| resourceForIndex returns a properly versioned and id'ed resource object | |
| QVector< KoResourceSP > | resourcesForFilename (QString fileName) const |
| QVector< KoResourceSP > | resourcesForMD5 (const QString md5sum) const |
| QVector< KoResourceSP > | resourcesForName (QString name) const |
| 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 | setStorageFilter (StorageFilter filter) override |
| void | showOnlyUntaggedResources (bool showOnlyUntagged) |
| QVector< KisTagSP > | tagsForResource (int resourceId) const |
| 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. | |
| ~KisResourceModel () override | |
Public Member Functions inherited from KisAbstractResourceModel | |
| bool | setResourceInactive (const QModelIndex &index) |
| virtual | ~KisAbstractResourceModel () |
Public Member Functions inherited from KisAbstractResourceFilterInterface | |
| virtual | ~KisAbstractResourceFilterInterface () |
Protected Member Functions | |
| bool | filterAcceptsColumn (int source_column, const QModelIndex &source_parent) const override |
| bool | filterAcceptsRow (int source_row, const QModelIndex &source_parent) const override |
| bool | lessThan (const QModelIndex &source_left, const QModelIndex &source_right) const override |
Private Member Functions | |
| QVector< KoResourceSP > | filterByColumn (const QString filter, KisAllResourcesModel::Columns column) const |
| bool | filterResource (const QModelIndex &idx) const |
Private Attributes | |
| Private *const | d |
Additional Inherited Members | |
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 } |
The KisResourceModel class provides the main access to resources. It is possible to filter the resources returned by the active status flag of the resources and the storages.
Definition at line 368 of file KisResourceModel.h.
| KisResourceModel::KisResourceModel | ( | const QString & | type, |
| QObject * | parent = 0 ) |
Definition at line 788 of file KisResourceModel.cpp.
References KisResourceModelProvider::resourceModel().
|
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 896 of file KisResourceModel.cpp.
References q2, source(), and updateResource().
|
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 886 of file KisResourceModel.cpp.
References source().
|
overrideprotected |
Definition at line 1014 of file KisResourceModel.cpp.
|
overrideprotected |
Definition at line 1019 of file KisResourceModel.cpp.
References d, filterResource(), KisAbstractResourceModel::Id, KisResourceModel::Private::resourceFilter, KisAbstractResourceFilterInterface::ShowActiveResources, KisAbstractResourceFilterInterface::ShowActiveStorages, KisAbstractResourceFilterInterface::ShowInactiveResources, KisAbstractResourceFilterInterface::ShowInactiveStorages, KisResourceModel::Private::showOnlyUntaggedResources, and KisResourceModel::Private::storageFilter.
|
private |
Definition at line 1079 of file KisResourceModel.cpp.
References resourceForIndex().
|
private |
Definition at line 1092 of file KisResourceModel.cpp.
References d, KisAbstractResourceModel::ResourceActive, KisResourceModel::Private::resourceFilter, KisAbstractResourceFilterInterface::ShowAllResources, KisAbstractResourceFilterInterface::ShowAllStorages, KisAbstractResourceModel::StorageActive, and KisResourceModel::Private::storageFilter.
|
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 869 of file KisResourceModel.cpp.
References source().
|
overridevirtual |
importResourceFile
| filename |
Implements KisAbstractResourceModel.
Definition at line 858 of file KisResourceModel.cpp.
References source().
|
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 880 of file KisResourceModel.cpp.
References source().
|
overridevirtual |
indexFromResource
| resource |
Implements KisAbstractResourceModel.
Definition at line 831 of file KisResourceModel.cpp.
References source().
|
overridevirtual |
indexFromResource
| resourceId | resource id for which we want to get an index |
Implements KisAbstractResourceModel.
Definition at line 840 of file KisResourceModel.cpp.
References source().
|
overrideprotected |
Definition at line 1071 of file KisResourceModel.cpp.
References KisAbstractResourceModel::Name.
|
overridevirtual |
reloadResource
| resource |
Implements KisAbstractResourceModel.
Definition at line 987 of file KisResourceModel.cpp.
References source().
|
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 996 of file KisResourceModel.cpp.
References source().
| KoResourceSP KisResourceModel::resourceForId | ( | int | id | ) | const |
Definition at line 1121 of file KisResourceModel.cpp.
References indexForResource(), and resourceForId().
|
overridevirtual |
resourceForIndex returns a properly versioned and id'ed resource object
Implements KisAbstractResourceModel.
Definition at line 822 of file KisResourceModel.cpp.
References source().
| QVector< KoResourceSP > KisResourceModel::resourcesForFilename | ( | QString | fileName | ) | const |
resourceForFilename returns the resources with the given filename that fit the current filters. Note that the filename does not include a path to the storage.
Definition at line 1131 of file KisResourceModel.cpp.
References KisAbstractResourceModel::Filename, and filterByColumn().
| QVector< KoResourceSP > KisResourceModel::resourcesForMD5 | ( | const QString | md5sum | ) | const |
Definition at line 1142 of file KisResourceModel.cpp.
References filterByColumn(), and KisAbstractResourceModel::MD5.
| QVector< KoResourceSP > KisResourceModel::resourcesForName | ( | QString | name | ) | const |
resourceForName returns the resources with the given name that fit the current filters.
Definition at line 1137 of file KisResourceModel.cpp.
References filterByColumn(), and KisAbstractResourceModel::Name.
|
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 849 of file KisResourceModel.cpp.
|
overridevirtual |
Select status of the resources that should be shown
Implements KisAbstractResourceFilterInterface.
Definition at line 800 of file KisResourceModel.cpp.
References d, and KisResourceModel::Private::resourceFilter.
|
overridevirtual |
setResourceMetaData
| metadata |
Implements KisAbstractResourceModel.
Definition at line 1005 of file KisResourceModel.cpp.
References source().
|
overridevirtual |
Select status of the storages that should be shown
Implements KisAbstractResourceFilterInterface.
Definition at line 808 of file KisResourceModel.cpp.
References d, and KisResourceModel::Private::storageFilter.
| void KisResourceModel::showOnlyUntaggedResources | ( | bool | showOnlyUntagged | ) |
Definition at line 816 of file KisResourceModel.cpp.
References d, and KisResourceModel::Private::showOnlyUntaggedResources.
Definition at line 1147 of file KisResourceModel.cpp.
References tagsForResource().
|
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 978 of file KisResourceModel.cpp.
References source().
|
private |
Definition at line 433 of file KisResourceModel.h.