Changeset View
Changeset View
Standalone View
Standalone View
src/incidenceattachmentmodel.cpp
Show First 20 Lines • Show All 82 Lines • ▼ Show 20 Line(s) | 33 | { | |||
---|---|---|---|---|---|
83 | 83 | | |||
84 | void resetInternalData() | 84 | void resetInternalData() | ||
85 | { | 85 | { | ||
86 | Item item = m_item; | 86 | Item item = m_item; | ||
87 | if (m_modelIndex.isValid()) { | 87 | if (m_modelIndex.isValid()) { | ||
88 | item = m_modelIndex.data(EntityTreeModel::ItemRole).value<Akonadi::Item>(); | 88 | item = m_modelIndex.data(EntityTreeModel::ItemRole).value<Akonadi::Item>(); | ||
89 | } | 89 | } | ||
90 | 90 | | |||
91 | if (!item.isValid() || !item.hasPayload<KCalCore::Incidence::Ptr>()) { | 91 | if (!item.isValid() || !item.hasPayload<KCalendarCore::Incidence::Ptr>()) { | ||
92 | m_incidence = KCalCore::Incidence::Ptr(); | 92 | m_incidence = KCalendarCore::Incidence::Ptr(); | ||
93 | return; | 93 | return; | ||
94 | } | 94 | } | ||
95 | m_incidence = item.payload<KCalCore::Incidence::Ptr>(); | 95 | m_incidence = item.payload<KCalendarCore::Incidence::Ptr>(); | ||
96 | } | 96 | } | ||
97 | 97 | | |||
98 | Q_DECLARE_PUBLIC(IncidenceAttachmentModel) | 98 | Q_DECLARE_PUBLIC(IncidenceAttachmentModel) | ||
99 | IncidenceAttachmentModel *const q_ptr; | 99 | IncidenceAttachmentModel *const q_ptr; | ||
100 | 100 | | |||
101 | QModelIndex m_modelIndex; | 101 | QModelIndex m_modelIndex; | ||
102 | Akonadi::Item m_item; | 102 | Akonadi::Item m_item; | ||
103 | KCalCore::Incidence::Ptr m_incidence; | 103 | KCalendarCore::Incidence::Ptr m_incidence; | ||
104 | Akonadi::Monitor *m_monitor = nullptr; | 104 | Akonadi::Monitor *m_monitor = nullptr; | ||
105 | }; | 105 | }; | ||
106 | } | 106 | } | ||
107 | 107 | | |||
108 | IncidenceAttachmentModel::IncidenceAttachmentModel(const QPersistentModelIndex &modelIndex, | 108 | IncidenceAttachmentModel::IncidenceAttachmentModel(const QPersistentModelIndex &modelIndex, | ||
109 | QObject *parent) | 109 | QObject *parent) | ||
110 | : QAbstractListModel(parent) | 110 | : QAbstractListModel(parent) | ||
111 | , d_ptr(new IncidenceAttachmentModelPrivate(this, modelIndex)) | 111 | , d_ptr(new IncidenceAttachmentModelPrivate(this, modelIndex)) | ||
Show All 12 Lines | |||||
124 | { | 124 | { | ||
125 | } | 125 | } | ||
126 | 126 | | |||
127 | IncidenceAttachmentModel::~IncidenceAttachmentModel() | 127 | IncidenceAttachmentModel::~IncidenceAttachmentModel() | ||
128 | { | 128 | { | ||
129 | delete d_ptr; | 129 | delete d_ptr; | ||
130 | } | 130 | } | ||
131 | 131 | | |||
132 | KCalCore::Incidence::Ptr IncidenceAttachmentModel::incidence() const | 132 | KCalendarCore::Incidence::Ptr IncidenceAttachmentModel::incidence() const | ||
133 | { | 133 | { | ||
134 | Q_D(const IncidenceAttachmentModel); | 134 | Q_D(const IncidenceAttachmentModel); | ||
135 | return d->m_incidence; | 135 | return d->m_incidence; | ||
136 | } | 136 | } | ||
137 | 137 | | |||
138 | void IncidenceAttachmentModel::setIndex(const QPersistentModelIndex &modelIndex) | 138 | void IncidenceAttachmentModel::setIndex(const QPersistentModelIndex &modelIndex) | ||
139 | { | 139 | { | ||
140 | Q_D(IncidenceAttachmentModel); | 140 | Q_D(IncidenceAttachmentModel); | ||
141 | beginResetModel(); | 141 | beginResetModel(); | ||
142 | d->m_modelIndex = modelIndex; | 142 | d->m_modelIndex = modelIndex; | ||
143 | d->m_item = Akonadi::Item(); | 143 | d->m_item = Akonadi::Item(); | ||
144 | d->resetInternalData(); | 144 | d->resetInternalData(); | ||
145 | endResetModel(); | 145 | endResetModel(); | ||
146 | Q_EMIT rowCountChanged(); | 146 | Q_EMIT rowCountChanged(); | ||
147 | } | 147 | } | ||
148 | 148 | | |||
149 | void IncidenceAttachmentModel::setItem(const Akonadi::Item &item) | 149 | void IncidenceAttachmentModel::setItem(const Akonadi::Item &item) | ||
150 | { | 150 | { | ||
151 | Q_D(IncidenceAttachmentModel); | 151 | Q_D(IncidenceAttachmentModel); | ||
152 | if (!item.hasPayload<KCalCore::Incidence::Ptr>()) { | 152 | if (!item.hasPayload<KCalendarCore::Incidence::Ptr>()) { | ||
153 | ItemFetchJob *job = new ItemFetchJob(item); | 153 | ItemFetchJob *job = new ItemFetchJob(item); | ||
154 | job->fetchScope().fetchFullPayload(true); | 154 | job->fetchScope().fetchFullPayload(true); | ||
155 | connect(job, SIGNAL(itemsReceived(Akonadi::Item::List)), | 155 | connect(job, SIGNAL(itemsReceived(Akonadi::Item::List)), | ||
156 | SLOT(itemFetched(Akonadi::Item::List))); | 156 | SLOT(itemFetched(Akonadi::Item::List))); | ||
157 | return; | 157 | return; | ||
158 | } | 158 | } | ||
159 | d->setItem(item); | 159 | d->setItem(item); | ||
160 | } | 160 | } | ||
Show All 22 Lines | |||||
183 | 183 | | |||
184 | QVariant IncidenceAttachmentModel::data(const QModelIndex &index, int role) const | 184 | QVariant IncidenceAttachmentModel::data(const QModelIndex &index, int role) const | ||
185 | { | 185 | { | ||
186 | Q_D(const IncidenceAttachmentModel); | 186 | Q_D(const IncidenceAttachmentModel); | ||
187 | if (!d->m_incidence) { | 187 | if (!d->m_incidence) { | ||
188 | return QVariant(); | 188 | return QVariant(); | ||
189 | } | 189 | } | ||
190 | 190 | | |||
191 | const KCalCore::Attachment attachment = d->m_incidence->attachments().at(index.row()); | 191 | const KCalendarCore::Attachment attachment = d->m_incidence->attachments().at(index.row()); | ||
192 | switch (role) { | 192 | switch (role) { | ||
193 | case Qt::DisplayRole: | 193 | case Qt::DisplayRole: | ||
194 | return attachment.label(); | 194 | return attachment.label(); | ||
195 | case AttachmentDataRole: | 195 | case AttachmentDataRole: | ||
196 | return attachment.decodedData(); | 196 | return attachment.decodedData(); | ||
197 | case MimeTypeRole: | 197 | case MimeTypeRole: | ||
198 | return attachment.mimeType(); | 198 | return attachment.mimeType(); | ||
199 | } | 199 | } | ||
Show All 17 Lines |