Krita Source Code Documentation
Loading...
Searching...
No Matches
BundleTagIterator Class Reference
+ Inheritance diagram for BundleTagIterator:

Public Member Functions

 BundleTagIterator (KoResourceBundle *bundle, const QString &resourceType)
 
bool hasNext () const override
 
void next () override
 The iterator is only valid if next() has been called at least once.
 
KisTagSP tag () const override
 A tag object on which we can set properties and which we can save.
 
- Public Member Functions inherited from KisResourceStorage::TagIterator
virtual ~TagIterator ()
 

Private Attributes

KoResourceBundlem_bundle {0}
 
QString m_resourceType
 
KisTagSP m_tag
 
QScopedPointer< QListIterator< KisTagSP > > m_tagIterator
 
QHash< QString, KisTagSPm_tags
 

Detailed Description

Definition at line 34 of file KisBundleStorage.cpp.

Constructor & Destructor Documentation

◆ BundleTagIterator()

BundleTagIterator::BundleTagIterator ( KoResourceBundle * bundle,
const QString & resourceType )
inline

Definition at line 38 of file KisBundleStorage.cpp.

39 : m_bundle(bundle)
40 , m_resourceType(resourceType)
41 {
43 Q_FOREACH(const KoResourceBundleManifest::ResourceReference &resourceReference, resources) {
44 Q_FOREACH(const QString &tagname, resourceReference.tagList) {
45 if (!m_tags.contains(tagname)){
47 tag->setName(tagname);
48 tag->setComment(tagname);
49 tag->setUrl(tagname);
50 tag->setResourceType(resourceType);
51 tag->setValid(true);
52 m_tags[tagname] = tag;
53 }
54
55 m_tags[tagname]->setDefaultResources(m_tags[tagname]->defaultResources()
56 << QFileInfo(resourceReference.resourcePath).fileName());
57 }
58 }
59 m_tagIterator.reset(new QListIterator<KisTagSP>(m_tags.values()));
60 }
QScopedPointer< QListIterator< KisTagSP > > m_tagIterator
KisTagSP tag() const override
A tag object on which we can set properties and which we can save.
QHash< QString, KisTagSP > m_tags
KoResourceBundle * m_bundle
The KisTag loads a tag from a .tag file. A .tag file is a .desktop file. The following fields are imp...
Definition KisTag.h:34
QList< ResourceReference > files(const QString &type=QString()) const
KoResourceBundleManifest & manifest()

References KoResourceBundleManifest::files(), m_bundle, m_tagIterator, m_tags, KoResourceBundle::manifest(), KoResourceBundleManifest::ResourceReference::resourcePath, tag(), and KoResourceBundleManifest::ResourceReference::tagList.

Member Function Documentation

◆ hasNext()

bool BundleTagIterator::hasNext ( ) const
inlineoverridevirtual

Implements KisResourceStorage::TagIterator.

Definition at line 62 of file KisBundleStorage.cpp.

63 {
64 return m_tagIterator->hasNext();
65 }

References m_tagIterator.

◆ next()

void BundleTagIterator::next ( )
inlineoverridevirtual

The iterator is only valid if next() has been called at least once.

Implements KisResourceStorage::TagIterator.

Definition at line 67 of file KisBundleStorage.cpp.

68 {
69 const_cast<BundleTagIterator*>(this)->m_tag = m_tagIterator->next();
70 }

References m_tag, and m_tagIterator.

◆ tag()

KisTagSP BundleTagIterator::tag ( ) const
inlineoverridevirtual

A tag object on which we can set properties and which we can save.

Implements KisResourceStorage::TagIterator.

Definition at line 71 of file KisBundleStorage.cpp.

71{ return m_tag; }

References m_tag.

Member Data Documentation

◆ m_bundle

KoResourceBundle* BundleTagIterator::m_bundle {0}
private

Definition at line 75 of file KisBundleStorage.cpp.

75{0};

◆ m_resourceType

QString BundleTagIterator::m_resourceType
private

Definition at line 76 of file KisBundleStorage.cpp.

◆ m_tag

KisTagSP BundleTagIterator::m_tag
private

Definition at line 78 of file KisBundleStorage.cpp.

◆ m_tagIterator

QScopedPointer<QListIterator<KisTagSP> > BundleTagIterator::m_tagIterator
private

Definition at line 77 of file KisBundleStorage.cpp.

◆ m_tags

QHash<QString, KisTagSP> BundleTagIterator::m_tags
private

Definition at line 74 of file KisBundleStorage.cpp.


The documentation for this class was generated from the following file: