Changeset View
Changeset View
Standalone View
Standalone View
src/tagcache.cpp
Show First 20 Lines • Show All 41 Lines • ▼ Show 20 Line(s) | 36 | { | |||
---|---|---|---|---|---|
42 | retrieveTags(); | 42 | retrieveTags(); | ||
43 | } | 43 | } | ||
44 | 44 | | |||
45 | Akonadi::Tag TagCache::getTagByGid(const QByteArray &gid) const | 45 | Akonadi::Tag TagCache::getTagByGid(const QByteArray &gid) const | ||
46 | { | 46 | { | ||
47 | return mCache.value(mGidCache.value(gid)); | 47 | return mCache.value(mGidCache.value(gid)); | ||
48 | } | 48 | } | ||
49 | 49 | | |||
50 | Akonadi::Tag TagCache::getTagByName(const QString &name) const | ||||
51 | { | ||||
52 | return mCache.value(mNameCache.value(name)); | ||||
53 | } | ||||
54 | | ||||
50 | void TagCache::onTagAdded(const Akonadi::Tag &tag) | 55 | void TagCache::onTagAdded(const Akonadi::Tag &tag) | ||
51 | { | 56 | { | ||
52 | mCache.insert(tag.id(), tag); | 57 | mCache.insert(tag.id(), tag); | ||
53 | mGidCache.insert(tag.gid(), tag.id()); | 58 | mGidCache.insert(tag.gid(), tag.id()); | ||
59 | mNameCache.insert(tag.name(), tag.id()); | ||||
54 | } | 60 | } | ||
55 | 61 | | |||
56 | void TagCache::onTagChanged(const Akonadi::Tag &tag) | 62 | void TagCache::onTagChanged(const Akonadi::Tag &tag) | ||
57 | { | 63 | { | ||
58 | onTagAdded(tag); | 64 | onTagAdded(tag); | ||
59 | } | 65 | } | ||
60 | 66 | | |||
61 | void TagCache::onTagRemoved(const Akonadi::Tag &tag) | 67 | void TagCache::onTagRemoved(const Akonadi::Tag &tag) | ||
62 | { | 68 | { | ||
63 | mCache.remove(tag.id()); | 69 | mCache.remove(tag.id()); | ||
64 | mGidCache.remove(tag.gid()); | 70 | mGidCache.remove(tag.gid()); | ||
71 | mNameCache.remove(tag.name()); | ||||
65 | } | 72 | } | ||
66 | 73 | | |||
67 | void TagCache::retrieveTags() | 74 | void TagCache::retrieveTags() | ||
68 | { | 75 | { | ||
69 | Akonadi::TagFetchJob *tagFetchJob = new Akonadi::TagFetchJob(this); | 76 | Akonadi::TagFetchJob *tagFetchJob = new Akonadi::TagFetchJob(this); | ||
70 | tagFetchJob->fetchScope().fetchAttribute<Akonadi::TagAttribute>(); | 77 | tagFetchJob->fetchScope().fetchAttribute<Akonadi::TagAttribute>(); | ||
71 | connect(tagFetchJob, &Akonadi::TagFetchJob::result, this, &TagCache::onTagsFetched); | 78 | connect(tagFetchJob, &Akonadi::TagFetchJob::result, this, &TagCache::onTagsFetched); | ||
72 | } | 79 | } | ||
Show All 12 Lines |