29 bool hasNext()
const override {
return false;}
115 QString
url()
const override
130 return fi.lastModified();
167 int indexOfUnderscore = url.lastIndexOf(
"_");
168 QString realUuid = url;
169 if (indexOfUnderscore >= 0) {
170 realUuid.remove(indexOfUnderscore, url.length() - indexOfUnderscore);
174 realUuid = QFileInfo(realUuid).baseName();
176 if (url.contains(
"pattern") || url.contains(
".pat")) {
179 if (patterns.contains(realUuid)) {
180 return patterns[realUuid];
186 QHash<QString, KisPSDLayerStyleSP> styles =
m_aslSerializer->stylesHash();
187 if (styles.contains(realUuid)) {
188 resultingStyle = styles[realUuid];
191 if (realUuid.startsWith(
"{")) {
192 realUuid = realUuid.right(realUuid.length() - 1);
194 if (realUuid.endsWith(
"}")) {
195 realUuid = realUuid.left(realUuid.length() - 1);
198 if (styles.contains(realUuid)) {
199 resultingStyle = styles[realUuid];
203 if (resultingStyle) {
241 warnKrita <<
"KisAslStorage::saveAsNewVersion is not implemented yet";
248 warnKrita <<
"Trying to add a null resource to KisAslStorage";
253 warnKrita <<
"Trying to add a resource that is not a layer style to KisAslStorage";
258 styles << layerStyle;
KIS_DECLARE_STATIC_INITIALIZER
QVector< KisPSDLayerStyleSP > m_styles
QScopedPointer< QHashIterator< QString, KoPatternSP > > m_patternsIterator
QHash< QString, KoPatternSP > m_patterns
KoResourceSP resourceImpl() const override
This only loads the resource when called (but not in case of asl...)
QScopedPointer< QVectorIterator< KisPSDLayerStyleSP > > m_stylesIterator
QString type() const override
QString url() const override
AslIterator(QSharedPointer< KisAslLayerStyleSerializer > aslSerializer, const QString &filename, const QString &resourceType)
QSharedPointer< KisAslLayerStyleSerializer > m_aslSerializer
KoResourceSP m_currentResource
QDateTime lastModified() const override
void next() override
The iterator is only valid if next() has been called at least once.
bool hasNext() const override
void next() override
The iterator is only valid if next() has been called at least once.
AslTagIterator(const QString &location, const QString &resourceType)
bool hasNext() const override
KisTagSP tag() const override
A tag object on which we can set properties and which we can save.
static void sideLoadLinkedResources(KisPSDLayerStyle *style, KisResourcesInterfaceSP resourcesInterface)
QSharedPointer< KisResourceStorage::ResourceIterator > resources(const QString &resourceType) override
QSharedPointer< KisResourceStorage::TagIterator > tags(const QString &resourceType) override
bool addResource(const QString &resourceType, KoResourceSP resource) override
bool loadVersionedResource(KoResourceSP resource) override
KisResourceStorage::ResourceItem resourceItem(const QString &url) override
KisAslStorage(const QString &location)
bool saveAsNewVersion(const QString &resourceType, KoResourceSP resource) override
bool supportsVersioning() const override
QSharedPointer< KisAslLayerStyleSerializer > m_aslSerializer
KoResourceSP resource(const QString &url) override
bool isValid() const override
static KisResourcesInterfaceSP instance()
void addStoragePluginFactory(KisResourceStorage::StorageType storageType, KisStoragePluginFactoryBase *factory)
static KisStoragePluginRegistry * instance()
const QString LayerStyles
The KisPSDLayerStyle class implements loading, saving and applying the PSD layer effects.
A resource item is simply an entry in the storage,.