Changeset View
Changeset View
Standalone View
Standalone View
src/akonadi/akonaditagrepository.cpp
Show First 20 Lines • Show All 61 Lines • ▼ Show 20 Line(s) | 56 | { | |||
---|---|---|---|---|---|
62 | 62 | | |||
63 | auto job = new Utils::CompositeJob(); | 63 | auto job = new Utils::CompositeJob(); | ||
64 | ItemFetchJobInterface *fetchItemJob = m_storage->fetchItem(childItem); | 64 | ItemFetchJobInterface *fetchItemJob = m_storage->fetchItem(childItem); | ||
65 | job->install(fetchItemJob->kjob(), [akonadiTag, fetchItemJob, parent, job, this] { | 65 | job->install(fetchItemJob->kjob(), [akonadiTag, fetchItemJob, parent, job, this] { | ||
66 | if (fetchItemJob->kjob()->error() != KJob::NoError) | 66 | if (fetchItemJob->kjob()->error() != KJob::NoError) | ||
67 | return; | 67 | return; | ||
68 | 68 | | |||
69 | Q_ASSERT(fetchItemJob->items().size() == 1); | 69 | Q_ASSERT(fetchItemJob->items().size() == 1); | ||
70 | auto childItem = fetchItemJob->items().first(); | 70 | auto childItem = fetchItemJob->items().at(0); | ||
71 | childItem.setTag(akonadiTag); | 71 | childItem.setTag(akonadiTag); | ||
72 | 72 | | |||
73 | auto updateJob = m_storage->updateItem(childItem); | 73 | auto updateJob = m_storage->updateItem(childItem); | ||
74 | job->addSubjob(updateJob); | 74 | job->addSubjob(updateJob); | ||
75 | updateJob->start(); | 75 | updateJob->start(); | ||
76 | }); | 76 | }); | ||
77 | return job; | 77 | return job; | ||
78 | } | 78 | } | ||
79 | 79 | | |||
80 | KJob *TagRepository::dissociate(Domain::Tag::Ptr parent, Domain::Note::Ptr child) | 80 | KJob *TagRepository::dissociate(Domain::Tag::Ptr parent, Domain::Note::Ptr child) | ||
81 | { | 81 | { | ||
82 | Item childItem = m_serializer->createItemFromNote(child); | 82 | Item childItem = m_serializer->createItemFromNote(child); | ||
83 | Q_ASSERT(childItem.isValid()); | 83 | Q_ASSERT(childItem.isValid()); | ||
84 | 84 | | |||
85 | auto job = new Utils::CompositeJob(); | 85 | auto job = new Utils::CompositeJob(); | ||
86 | ItemFetchJobInterface *fetchItemJob = m_storage->fetchItem(childItem); | 86 | ItemFetchJobInterface *fetchItemJob = m_storage->fetchItem(childItem); | ||
87 | job->install(fetchItemJob->kjob(), [fetchItemJob, parent, job, this] { | 87 | job->install(fetchItemJob->kjob(), [fetchItemJob, parent, job, this] { | ||
88 | if (fetchItemJob->kjob()->error() != KJob::NoError) | 88 | if (fetchItemJob->kjob()->error() != KJob::NoError) | ||
89 | return; | 89 | return; | ||
90 | 90 | | |||
91 | Q_ASSERT(fetchItemJob->items().size() == 1); | 91 | Q_ASSERT(fetchItemJob->items().size() == 1); | ||
92 | auto childItem = fetchItemJob->items().first(); | 92 | auto childItem = fetchItemJob->items().at(0); | ||
93 | auto tag = m_serializer->createAkonadiTagFromTag(parent); | 93 | auto tag = m_serializer->createAkonadiTagFromTag(parent); | ||
94 | Q_ASSERT(tag.isValid()); | 94 | Q_ASSERT(tag.isValid()); | ||
95 | childItem.clearTag(tag); | 95 | childItem.clearTag(tag); | ||
96 | 96 | | |||
97 | auto updateJob = m_storage->updateItem(childItem); | 97 | auto updateJob = m_storage->updateItem(childItem); | ||
98 | job->addSubjob(updateJob); | 98 | job->addSubjob(updateJob); | ||
99 | updateJob->start(); | 99 | updateJob->start(); | ||
100 | }); | 100 | }); | ||
Show All 9 Lines | 106 | { | |||
110 | Q_ASSERT(childItem.isValid()); | 110 | Q_ASSERT(childItem.isValid()); | ||
111 | auto job = new Utils::CompositeJob(); | 111 | auto job = new Utils::CompositeJob(); | ||
112 | ItemFetchJobInterface *fetchItemJob = m_storage->fetchItem(childItem); | 112 | ItemFetchJobInterface *fetchItemJob = m_storage->fetchItem(childItem); | ||
113 | job->install(fetchItemJob->kjob(), [fetchItemJob, job, this] { | 113 | job->install(fetchItemJob->kjob(), [fetchItemJob, job, this] { | ||
114 | if (fetchItemJob->kjob()->error() != KJob::NoError) | 114 | if (fetchItemJob->kjob()->error() != KJob::NoError) | ||
115 | return; | 115 | return; | ||
116 | 116 | | |||
117 | Q_ASSERT(fetchItemJob->items().size() == 1); | 117 | Q_ASSERT(fetchItemJob->items().size() == 1); | ||
118 | auto childItem = fetchItemJob->items().first(); | 118 | auto childItem = fetchItemJob->items().at(0); | ||
119 | foreach (const Tag &tag, childItem.tags()) | 119 | foreach (const Tag &tag, childItem.tags()) | ||
120 | childItem.clearTag(tag); | 120 | childItem.clearTag(tag); | ||
121 | 121 | | |||
122 | auto updateJob = m_storage->updateItem(childItem); | 122 | auto updateJob = m_storage->updateItem(childItem); | ||
123 | job->addSubjob(updateJob); | 123 | job->addSubjob(updateJob); | ||
124 | updateJob->start(); | 124 | updateJob->start(); | ||
125 | }); | 125 | }); | ||
126 | 126 | | |||
127 | return job; | 127 | return job; | ||
128 | } | 128 | } |